如何使它输入只能是一个数字而不是一个字符串

时间:2017-05-12 17:49:44

标签: python

我试图做到这一点所以它只允许数字,而不是字符串。

number = (input("Pick a number "))

我已尝试使用(raw_input("")),但出现此错误:

  

"第1行,in   number =(raw_input("选择一个数字"))   NameError:name' raw_input'未定义"

我也尝试了int(raw_input("")),并出现了同样的错误。

我也试过了int(input("")),但也出现了错误:

  

TypeError:+:' int'不支持的操作数类型和' str'

1 个答案:

答案 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