如何转到 else 部分中 if 语句的开头? Python 3.2

How do you go to the beginning of an if statement in the else section? Python 3.2

标题中的问题:如何转到 else 部分中 if 语句的开头?

代码:

p1 = int(input())
if p1 <= 9 and p1 >= 1:
    pass
else:
    print('Invalid input. Please try again.')
    p1 = input()

运行在一个循环中,直到输入满足条件才跳出。

while True:
    p1 = int(input("input something: "))
    if p1 <= 9 and p1 >= 1:
        break

    print('ERROR 404. Invalid input. Please try again.')

如果您输入无法转换为 int 的值并终止程序,此代码将抛出异常。

要解决这个问题,请捕获异常并继续。

while True:
    try:
        p1 = int(input("input something: "))

        if p1 <= 9 and p1 >= 1:
            break
    except ValueError:
        pass

    print('ERROR 404. Invalid input. Please try again.')