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

来源:互联网 发布:java测试工程师 编辑:程序博客网 时间:2024/05/01 15:56
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
0 0