Python 输入非整数值时,如何防止程序终止?
如何使程序在用户输入非整数值后循环 我已尝试在intu时使用!=intPython 输入非整数值时,如何防止程序终止?,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
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