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