Использование Try and Except для разрешения неправильного ввода сохраняет неверный ввод - PullRequest
0 голосов
/ 29 февраля 2020

Я пытаюсь получить пользовательский ввод для сохранения некоторых чисел и распечатки наибольшего и наименьшего числа. Мне нужно иметь в своем коде исключение, которое будет печатать сообщение об ошибке, а затем продолжать печатать мои номера. Проблема, с которой я сталкиваюсь, заключается в том, что если я наберу слово типа cat, чтобы получить сообщение об ошибке, оно также сделает это слово самым большим числом. Я просто хочу, чтобы за моим сообщением об ошибке следовали мои 2 цифры

l = None
s = None
while True:
    num = input('Enter your number')

    if num == 'done':
        break
    try:
        num=float(num)

    except:
        print('Invalid input')

    if l is None:
        l = num
    elif num > l:
        l = num
    if s is None:
        s =  num
    if num < s:
        s = num         
print('Maximum is ',l)
print('Minimum is ',s)       

, любая помощь будет отличной, большое спасибо

1 Ответ

0 голосов
/ 29 февраля 2020

Я бы добавил continue сразу после вашего print('invalid input'). Это заставит его снова запустить l oop и запросить другой номер у пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...