python根据给定的年月日以数字形式打印日期

months=[
'January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December'
]

以1-31的数字作为结尾的列表,定义的endings变量赋值后面加上17*和7*,
原来该变量定义的是1-31这31个数的英文后缀,这31个数的英文是1:first 2:second 3:third
4:fourth 5:fifth 6:sixth 7:seventh 8:eighth 9:ninth 10:tenth 11:eleventh 12:twelfth 13:thirteenth 14:fourteenth 15:fifteenth
16:sixteenth 17:seventeenth 18:eighteenth 19:ninteenth 20:twentieth21:twentyfirst 22:twenty-second 23:twenty-third24:twenty-fourth 25:twenty-fifth 26:twenty-sixth 27;twenty-seventh 28:twenty-eighth 29:twenty-ninth 30:thirtieth 31:thirty-first
其中在第一个 [‘st’,’nd’,’rd’]后面从fourth到twentieth一共是17个‘th’,然后是又一个[‘st’,’nd’,’rd’]后面再从twenty-fourth到thirtieth一共是7个‘th’,17 * [‘th’]的意思就是:给这个数据添加17个’th’字符串

endings=['st','nd','rd']+17*['th']\
       +['st','nd','rd']+7*['th']\
       +['st']  

获取用户输入的日期信息

year   =raw_input('Year: ')
month  =raw_input('Month(1-12): ')
day    =raw_input('Day(1-31): ')

将月份和日期转化成整数

month_number=int(month)
day_number=int(day) 

因为索引从0开始所以取到的月份和天数会往后推一个月,获取当前的日期需要减一 ,例如:输入month_name 3 ,取到的是April四月,实际上我们想要的是三月

month_name=months[month_number-1]
ordinal=day+endings[day_number-1]

打印日期

print month_name+' '+ordinal+'.'+year
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值