编写程序,用户输入阿拉伯数字的日期,转换为汉字的日期。
例如,输入2021/2/25,输出二零二一年二月二十五日
大学Python任务:日期汉字格式转换
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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
悬赏问题
- ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
- ¥20 怎么用dlib库的算法识别小麦病虫害
- ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
- ¥15 java写代码遇到问题,求帮助
- ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
- ¥15 有了解d3和topogram.js库的吗?有偿请教
- ¥100 任意维数的K均值聚类
- ¥15 stamps做sbas-insar,时序沉降图怎么画
- ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
- ¥15 关于#Java#的问题,如何解决?