оператор try & if в цикле while - PullRequest
1 голос
/ 19 июня 2020

Я хотел бы создать функцию, в которой, если введенное целое число находится между 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 не работает должным образом и кажется, что go превращается в определенный l oop. Неправильно ли включать выражение if в else?

1 Ответ

0 голосов
/ 19 июня 2020

Вместо разрыва выведите число.

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