неизмеримая ошибка в программе Python (поиск наибольшего и наименьшего числа с помощью бесконечного цикла) - PullRequest
0 голосов
/ 04 июня 2018

Я новичок в программировании, и я написал этот код, но в некоторых моментах он работает неправильно.Так как он не учитывает первый входной номер для определения максимального и минимального числа.Кроме того, он не печатает сообщение об ошибке «Неверный ввод», если неправильный ввод задан при первой записи.Короче говоря, он игнорирует первый вход.Я не могу найти ошибку в логике.Будет очень полезно, если вы сможете проверить мой код и сказать мне ошибку в логике.

largest = None
smallest = None
num = input('Enter a number: ')
while True:
    num = input('Enter a number: ')
    if num == 'done':    
        break 
    try:
        fnum=int(num)

    except:
        print ('Invalid input')

        continue
    if largest is None:
        largest=fnum
    else:
        if largest<fnum:
            largest=fnum


    if smallest is None:
        smallest=fnum
    else: 
        if smallest>fnum:
            smallest=fnum   

print('Maximum is ',largest)
print('Minimum is ',smallest)

Проблема 1: Здесь сообщение об ошибке не отображается, поскольку в первом входе задан неверный ввод

Проблема 2: Здесь «2» (который является первым входом) игнорируется (так как это был бы минимум всех чисел), и отображается сообщение об ошибке

Проблема 3: Здесь «10» (который является первым вводом) игнорируется (как это было бы максимум всех чисел), и отображается сообщение об ошибке

...