编写程序,用户输入阿拉伯数字的日期,转换为汉字的日期。
例如,输入2021/2/25,输出二零二一年二月二十五日
3条回答 默认 最新
- shadowsland 2021-11-13 16:48关注
逻辑:
1.定义一个字典对应数字和汉字做数字和汉字的转换
2.将两个/分别转成年和月,在最后加上日
参考代码:date_map = {'0': '零', '1': '一', '2': '二', '3': '三', '4': '四', '5': '五', '6': '六', '7': '七', '8': '八','9': '九'} def dateTrans(date): date_cn = list(date) # 处理数字日期 for i in range(len(date)): if date[i] in date_map: date_cn[i] = date_map[date[i]] # 处理年月日 year = date.find('/') month = date.rfind('/') date_cn[year] = '年' date_cn[month] = '月' date_cn.append('日') # 处理日,兼容月份只有一位数情况 if (month == 7 and len(date) == 10) or (month == 6 and len(date) == 9): if date_cn[month+1] == '零': date_cn.pop(month+1) elif date_cn[month+1] == '一': date_cn[month+1] = '十' else: date_cn.insert(month+2, '十') # 处理月 if month == 7: if date_cn[5] == '零': date_cn.pop(5) elif date_cn[5] == '一': date_cn[5] = '十' return ''.join(date_cn) if __name__ == '__main__': date = '2021/12/02' date_cn = dateTrans(date) print(date_cn)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报 编辑记录无用 1