找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3070|回复: 1

[求助] 求助看一下参考书中代码

1

主题

1

帖子

1

积分

贫民

积分
1
kkeanu 发表于 2021-3-3 17:07:03 | 显示全部楼层 |阅读模式
以下是书里的例子
# 将以数指定年、月、日的日期打印出来
months = [
'January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December'
]
# 一个列表,其中包含数1~31对应的结尾
endings = ['st', 'nd', 'rd'] + 17 * ['th'] \
+ ['st', 'nd', 'rd'] + 7 * ['th'] \
+ ['st']
year = input('Year: ')
month = input('Month (1-12): ')
day = input('Day (1-31): ')
month_number = int(month)
day_number = int(day)
# 别忘了将表示月和日的数减1,这样才能得到正确的索引
month_name = months[month_number-1]
ordinal = day + endings[day_number-1]
print(month_name + ' ' + ordinal + ', ' + year)
这个程序的运行情况类似于下面这样:
Year: 1974
Month (1-12): 8
Day (1-31): 16
August 16th, 1974


但是我发现如果将
endings = ['st', 'nd', 'rd'] + 17 * ['th'] \
+ ['st', 'nd', 'rd'] + 7 * ['th'] \
+ ['st']

和ordinal = day + endings[day_number-1]这里加号后面的都删掉
程序并没有什么问题,那么这段endings的代码为什么要这样写?这些st nd rd又是什么意思?
请求大佬解答一下

回复

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2021-3-5 21:17:11 | 显示全部楼层
一个月最多共31天,英语基数为first,second,third,后面都是th结尾,把31天都转成英文你自己看对应每一天的结尾就明白了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表