你怎么去else部分的if语句的开头? Python 3.2

时间:2016-12-20 03:10:28

标签: python python-3.x python-3.2

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

代码:

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

1 个答案:

答案 0 :(得分:5)

在循环中运行并且在输入符合条件之前永远不会爆发。

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.')