首先
input
将用户输入作为字符串。所以即使他们进入
1
,这与你的套装不匹配,因为你的套装是
int
,他们的输入是
一串
'1'
,而不是整数
1.
.而且,不需要使用一套。A.
range
对象更容易生成,因为它包含多个数字,所以变量名应该是复数。你的缩进也不正确。我不明白这是怎么回事
f
在输入函数中,如果需要多行字符串,则需要三个引号。此外,如果你的字符串中有回车符
\n
在字符串中有两个换行符;我不确定这是不是有意的。这样做的一个方法是:
fortune_nums = [str(num) for num in range(1,10)]
user_num = input('''Pick a number and find your fortune!
Choose a number from 1 to 9 and hit enter: \n''')
print()
if user_num in fortune_nums:
print(user_num)
else:
print('Error')
如果你想变得更时尚,你可以保持
fortune_nums
作为int,然后尝试将输入转换为int,捕捉无效的文字错误:
fortune_nums = range(1,10)
user_num = input('''Pick a number and find your fortune!
Choose a number from 1 to 9 and hit enter: \n''')
print()
try:
if(int(user_num) in fortune_nums):
print(user_num)
except ValueError:
print("That's not a valid integer!")