检查输入是否在 python 中的数字列表中
Checking if input is in a list of numbers in python
numbers = [1,2,3,4,5,6,7]
x = input()
if x in numbers:
print("Hey you did it")
else:
print("Nope")
我不确定我在这里做错了什么,但它总是告诉我我的电话号码不在列表中..即使它在列表中。不过,它可以很好地处理字符串。
帮助将不胜感激。谢谢!
输入是一个字符串,因此您是在将字符串与整数进行比较。先转换为 int 然后做成员测试:
numbers = [1,2,3,4,5,6,7]
x = input()
if int(x) in numbers:
print("Hey you did it")
else:
print("Nope")
为了让这个稍微更稳健一点,你应该处理如果用户没有输入整数就会发生的 ValueError
(总会有一个用户输入 'cheeseburger' 而不是数字) :
numbers = [1,2,3,4,5,6,7]
x = input()
try:
i = int(x)
if i in numbers:
print("Hey you did it")
else:
print("Nope")
except ValueError:
print("You did not enter a number")
numbers = [1,2,3,4,5,6,7]
x = input()
if x in numbers:
print("Hey you did it")
else:
print("Nope")
我不确定我在这里做错了什么,但它总是告诉我我的电话号码不在列表中..即使它在列表中。不过,它可以很好地处理字符串。
帮助将不胜感激。谢谢!
输入是一个字符串,因此您是在将字符串与整数进行比较。先转换为 int 然后做成员测试:
numbers = [1,2,3,4,5,6,7]
x = input()
if int(x) in numbers:
print("Hey you did it")
else:
print("Nope")
为了让这个稍微更稳健一点,你应该处理如果用户没有输入整数就会发生的 ValueError
(总会有一个用户输入 'cheeseburger' 而不是数字) :
numbers = [1,2,3,4,5,6,7]
x = input()
try:
i = int(x)
if i in numbers:
print("Hey you did it")
else:
print("Nope")
except ValueError:
print("You did not enter a number")