任务描述
本关任务:
编写程序,用户输入阿拉伯数字的日期,转换为汉字的日期。
例如,输入2021/2/25,输出二零二一年二月二十五日
测试说明
平台会对你编写的代码进行测试:
测试输入:2021/3/18;
预期输出:
二零二一年三月十八日
测试输入:2020/12/1;
预期输出:
二零二零年十二月一日
提示:
将年月日分别截取出来处理
对于月份等于10、大于10和小于10分别处理
对于日号也要分几种情况考虑:
小于10、等于10、10的整数倍和不是10的整数倍
任务描述
本关任务:
编写程序,用户输入阿拉伯数字的日期,转换为汉字的日期。
例如,输入2021/2/25,输出二零二一年二月二十五日
测试说明
平台会对你编写的代码进行测试:
测试输入:2021/3/18;
预期输出:
二零二一年三月十八日
测试输入:2020/12/1;
预期输出:
二零二零年十二月一日
提示:
将年月日分别截取出来处理
对于月份等于10、大于10和小于10分别处理
对于日号也要分几种情况考虑:
小于10、等于10、10的整数倍和不是10的整数倍
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')
'二零二零年十二月一日'
>>>
#月和天的转换用同一个函数