首页 > 解决方案 > 在 while 循环中尝试 & if 语句

问题描述

我想构建一个函数,如果输入的整数在 1 到 10 之间,则返回结果。

这是我的代码:

while True:
    try:
        num = int(input("Enter a number (1-10): "))
    except ValueError:
        print("Wrong input")            
    else:
        if 1 <= num <= 10:
            break
        else:
            print("Wrong input")
            continue

当你输入一个整数时,break它不能正常工作,它似乎进入了一个明确的循环。if将语句合并到中是错误的else吗?

标签: python-3.xif-statementwhile-loopjupyter-notebooktry-catch

解决方案


而不是 break,打印 num。

isBetweenOneAndTen = True

while isBetweenOneAndTen == True:
    try:
        num = int(input("Enter a number (1-10): "))
    except ValueError:
        print("Wrong input")            
    else:
        if 1 <= num <= 9:
            print(num)
            isBetweenOneAndTen = False

        else:
            print("Wrong input")
            continue

推荐阅读