Python的try,expect语句基础联系中遇到循环上小问题

Python的try,expect语句基础联系中遇到循环上小问题

finished = False
result = 0
while not finished:
    try:
        result = int(input('enter a number:'))
        pass
    except ValueError:  # TODO - add something after except
        print("Please enter a valid integer.")
print("Valid result is:", result)

上面这个程序就是判断输入是否为整数,如果不是整数,不会结束,接着让输入,如果是整数,则输出值,结束,我上面代码,再输入正确整数后不会退出循环,麻烦看一下,修改一下,谢谢

用break结束循环

result = 0
while True:
    try:
        result = int(input('enter a number:'))
        break
    except ValueError:  # TODO - add something after except
        print("Please enter a valid integer.")
print("Valid result is:", result)
 

或者

finished = False
result = 0
while not finished:
    try:
        result = int(input('enter a number:'))
        finished = True
    except ValueError:  # TODO - add something after except
        print("Please enter a valid integer.")
print("Valid result is:", result)

你这代码少了一个跳出循环的方法。应该在

img


加一个break语句

finished = False
result = 0
while not finished:
    try:
        result = int(input('enter a number:'))
        pass
        finished = True
    except ValueError:  # TODO - add something after except
        print("Please enter a valid integer.")
print("Valid result is:", result)