我试图让我的变量整数输入只是==一个整数,如果它不是我想要打印和错误消息。我把它放在 if 语句中。输入字符串而不是错误消息时,我总是收到错误。
age = int(input("Enter age:"))
if age != int:
print("Not a number")
答案 0 :(得分:2)
您必须使用raw_input
而不是输入
如果您希望重复此操作,直到您拥有正确的值,则可以执行此操作
while True:
try:
age = int(raw_input("Enter age:"))
except ValueError:
print("Not a number")
if age == desired_age: # note I changed the name of your variable to desired_age instead of int
break
我不建议你使用像int这样的变量名...它通常是一种不好的做法
答案 1 :(得分:2)
从讨论中我发布了上面的链接:
age = input("Enter age:") # raw_input("Enter age:") in python 2
try:
age = int(age)
except ValueError:
print('not a number!')
我的想法是尝试将age
转换为整数。
age != int
的尝试将永远失败; age
是一个字符串(如果你成功地投射它就是一个int),而int
是一个类。