我试图做到这一点所以它只允许数字,而不是字符串。
number = (input("Pick a number "))
我已尝试使用(raw_input(""))
,但出现此错误:
"第1行,in number =(raw_input("选择一个数字")) NameError:name' raw_input'未定义"
我也尝试了int(raw_input(""))
,并出现了同样的错误。
我也试过了int(input(""))
,但也出现了错误:
TypeError:+:' int'不支持的操作数类型和' str'
答案 0 :(得分:1)
为确保输入数字,您可以使用:
while True:
try:
n = int(input("pick: "))
break
except:
print("Expecting a number...")
pass
示例:
pick: adsf
Expecting a number...
pick: dsf
Expecting a number...
pick: 2
这个想法:使用int()
之类的数字投射其他内容会引发错误,所以你不断询问直到没有错误被抛出。
如果您使用python2,则可能更喜欢使用raw_input
。