试图运行一个 while
循环,直到输入有效:
while True:
try:
print('open')
num = int(input("Enter number:"))
print(num)
except ValueError:
print('Error:"Please enter number only"')
continue #this continue is not working, the loop runs and break at finally
finally:
print('close')
break
如果输入了除数字以外的任何内容,但循环达到 finally
及 break
S
2条答案
按热度按时间cig3rfwq1#
finally
将始终在尝试后运行,除非。你想要else
,仅当try块未引发异常时才会运行。顺便说一下,尽量减少try块中的代码,以避免误报。
试运行:
请注意
continue
在您的示例中实际上不需要,所以我添加了一个演示print()
在循环的底部。8cdiaqws2#
您只需删除
finally:
声明来实现你想要的。验证int()后需要执行的任何操作都应该在
try/except/finally
结构