gpt4 book ai didi

Python:为什么它不接受月份输入 01 或 02 或 03?

转载 作者:太空宇宙 更新时间:2023-11-03 12:47:14 24 4
gpt4 key购买 nike

print "What is your name?",
name = len(raw_input())
print name
print "How old are you?",
age = int(input())
print "What month were you born in? ",
month = int(input())
if (month>12) or (0>month):
print "That does not exist"
else:
all = (name+age+month)
print "Your name length plus your age plus",
print "the month you were born is equal to:",
print all

如果您运行代码,它可以工作,但当提示输入月份数字时,如果您输入 8,它可以工作,但如果您输入 08,则不能。有人可以告诉我为什么。我正在使用 Python 2.7

最佳答案

在python2.x中,0是八进制数的前缀...

>>> 010
8

因此,有些数字将无效......例如08(因为它超出了八进制数的范围)。

如果您更改代码以使用 int(raw_input('...')),它应该可以工作,因为 int 始终假定以 10 为底,除非您另有说明。

>>> int('08')
8

关于Python:为什么它不接受月份输入 01 或 02 或 03?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28687463/

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