Неизмеримая ошибка в программе Python (поиск наибольшего и наименьшего числа с помощью бесконечного цикла)

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

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" (который является первым вводом) игнорируется (как это было бы максимум всех чисел), и отображается сообщение об ошибке

0 ответов

Другие вопросы по тегам