只要没有错误,如何运行while循环

时间:2015-04-21 17:53:29

标签: python python-3.x while-loop

我正在运行可能出错的代码,但我希望只要运行它 没有错误。

我想到了类似的东西:

while ValueError:
    try:
        x = int(input("Write a number: "))
    except ValueError:
        x = int(input("You must write a number: "))`

2 个答案:

答案 0 :(得分:5)

你很近

while True:
    try:
        x = int(input("Write a number: "))
        break
    except ValueError:
        print("You must write a number: ")

要了解有关异常处理的更多信息,请参阅documentation

答案 1 :(得分:1)

作为Bhargav答案的补充,我想我会提到另一个选择:

while True:
    try:
        x = int(input("Write a number: "))
    except ValueError:
        print("You must write a number: ")
    else:
        break

执行try语句。如果抛出异常,except块将接管,并且它会运行。如果没有抛出异常,则执行else块。不用担心,如果执行except块,则else块不会被调用。 :)

此外,你应该注意到这个答案被认为是更多的Pythonic,而Bhargav的答案可以说更容易阅读和更直观。