为什么当输入正确的输入(0 到 100 之间的数字)时这个 while 循环没有结束
grade = 110
invalid_input = 1
while grade< 0 or grade> 100:
if invalid_input >=2:
print "This is an invalid entry"
print "Please enter a number between 0 and 100"
grade= raw_input("Please enter your marks for Maths : ")
invalid_input +=1
我输入的是数字还是文本(这是无效输入,请输入 0 到 100 之间的数字 有谁知道哪里出了问题?
最佳答案
您的成绩
应转换为 int。否则,由于它是一个字符串,while
条件将始终满足。
此外,您可以同样轻松地(也许更干净地)为 invalid_input
使用 bool 值:
invalid_input = True
while invalid_input:
grade = int(raw_input("enter data"))
if grade >= 0 and grade <= 100:
invalid_input = False
else:
print "Please try again"
关于python - 无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14086238/