Python 输入非整数值时,如何防止程序终止?

Python 输入非整数值时,如何防止程序终止?,python,python-2.7,loops,Python,Python 2.7,Loops,如何使程序在用户输入非整数值后循环 我已尝试在intu时使用!=int u = raw_input("enter a positive number") while u != int: u = raw_input("Please enter a number") if u == int: print "that's a number" 尝试将其强制转换为类型,如果不是,则捕获异常 while True: u = raw_input("Enter a positive n

如何使程序在用户输入非整数值后循环

我已尝试在intu时使用!=int

u = raw_input("enter a positive number")
while u != int:
    u = raw_input("Please enter a number")
if u == int:
    print "that's a number"

尝试将其强制转换为类型,如果不是,则捕获异常

while True:
    u = raw_input("Enter a positive number: ")
    try:
        num = int(u)
    except ValueError:
        print "{} is not a number".format(u)
        continue
    break
print "{} is a number".format(num)
这只是检查以确保它是整数,而不是正数,但这应该很容易添加。

您忘记了。isdigit:

示例输出:

Enter a positive number: sf
sf is not a number
Enter a positive number: 1
1 is a number

使用try和exceptions您使用Python2有什么原因吗?另外,我认为您需要isinstanceu,int.@gmds raw_输入给出字符串,因此isinstanceu,int将给出False。您必须尝试转换为整数-使用intu-来检查它是否是具有整数值的字符串。intu可能会得到错误值error,您可以通过try捕获该错误值/except@furas是的,我是说,我错了。是数字。
Enter a positive number: sf
sf is not a number
Enter a positive number: 1
1 is a number