[英]try except statement error python
def validnumber():
notValid=True
while(notValid==True):
number=input('Enter number between 0 and 9->')
if number=='':
print('Empty input!')
else:
try:
number=int(number)
except ValueError:
print('Number not an int value!Try Again!')
else:
if number>=0 and number<=9:
notvalid=False
return number
def main():
myvalidnumber=validnumber()
print(myvalidnumber)
main()
大家好。 我写了这个程序,只有一个问题。
->即使我输入0到9之间的数字,程序也不会结束。任何人都可以解释为什么会这样吗?
提前致谢 :)
Python的变量区分大小写。 notvalid
与notValid
。 所以,当你说
notvalid=False
您正在创建一个新变量。 只需将其更改为
notValid = False
而且你还好
您已经从thefourtheye获得了解决方案。 仅作记录:在Python中实现此类功能的规范方法是使用无限循环,使用break
语句或提前return
(如下例所示)。 同样,正确使用continue
语句可以简化流程:
def validnumber():
while True:
number=input('Enter number between 0 and 9->')
if number=='':
print('Empty input!')
continue
try:
number=int(number)
except ValueError:
print('Number not an int value! Try Again!')
continue
if number < 0 or number > 9:
print('Number not between 0 and 9! Try Again!')
continue
return number
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.