vcan233 2021-10-22 17:59 采纳率: 75%
浏览 51
已结题

Python上机实践,字符类型及其操作

任务描述
本关任务:
编写程序,用户输入阿拉伯数字的日期,转换为汉字的日期。
例如,输入2021/2/25,输出二零二一年二月二十五日

测试说明
平台会对你编写的代码进行测试:

测试输入:2021/3/18;
预期输出:
二零二一年三月十八日

测试输入:2020/12/1;
预期输出:
二零二零年十二月一日

提示:
将年月日分别截取出来处理
对于月份等于10、大于10和小于10分别处理
对于日号也要分几种情况考虑:
小于10、等于10、10的整数倍和不是10的整数倍

  • 写回答

1条回答 默认 最新

  • Hann Yang 全栈领域优质创作者 2021-10-22 19:37
    关注
    def num2cn(n):
        cn='零一二三四五六七八九十'
        return list(cn)[int(n)]
    
    def day2cn(m):
        m = int(m)
        if m<=10:
            return num2cn(m)
        else:
            t1 = '' if m//10==1 else num2cn(m//10)
            t2 = num2cn(m%10) if m%10 else ''
            return t1 +'十'+t2
    
    def year2cn(y):
        y = list(str(y))
        return ''.join([num2cn(i) for i in y])
        
    def date2cn(Date):
        Date = Date.split('/')
        return year2cn(Date[0])+'年'+day2cn(Date[1])+'月'+day2cn(Date[2])+'日'
    
    >>> date2cn('2021/2/25')
    '二零二一年二月二十五日'
    >>> date2cn('2021/3/18')
    '二零二一年三月十八日'
    >>> date2cn('2020/12/1')
    '二零二零年十二月一日'
    >>> 
    #月和天的转换用同一个函数
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月7日
  • 已采纳回答 3月30日
  • 创建了问题 10月22日

悬赏问题

  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集