gpt4 book ai didi

python - 它有效,但为什么需要通过减去 1 来改变索引

转载 作者:行者123 更新时间:2023-12-02 02:48:29 26 4
gpt4 key购买 nike

新手,问题来了,为什么我需要减一才能引用month_name和ordinal的正确索引。

这将打印出日期(给定的年、月和日)作为输入中的数字。

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

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)

month_name = months[month_number-1] #Although it works, what's the logic.
ordinal = day + endings[day_number-1 #Although it works, what's the logic.

print(month_name , ' ' + ordinal , ', ' + year)

最佳答案

因为 python 是零索引的。这意味着第一个元素是 0 而不是 1

例如:

在您的代码中,用户将 3 月指定为 3(​​1 月 1 日、2 月 2 日、3 月 3 日)

但在你的 python 列表中,3 月将排在第 2 位(1 月 0 日、2 月 1 日、3 月 3 日)

大多数编码语言都是 0 索引,对于 Python 来说,所有可迭代的东西也是 0 索引

关于python - 它有效,但为什么需要通过减去 1 来改变索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62420419/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com