Для следующей проблемы:
Напишите программу, которая постоянно запрашивает у пользователя целые числа, пока пользователь не введет done
.
После ввода «готово» распечатайте наибольшее и наименьшее из чисел.
Если пользователь вводит что-либо, кроме действительного числа, поймайте его с помощью try / except, выведите соответствующее сообщение и проигнорируйте число.
Случаи ввода:
Введите 7, 2, bob, 10 и 4 и сравните результат, приведенный ниже.
Моя программа неправильно показывает ответ. В чем тут проблема?
while True:
inp = input("Enter number: ")
if inp == "done":
print("done")
break
try:
inp_data = int(inp)
except:
print("Invalid input")
if smallest is None:
smallest = inp_data
elif inp_data < smallest:
smallest = inp_data
elif inp_data > largest:
largest = inp_data
print("largest", largest)
print("smallest", smallest)
Вывод:
Недействительный ввод, максимум 10, минимум 2.
while
должно иметь отступ от оператораwhile True
- person Sam   schedule 10.06.2020Maximum is 10, Minimum is 2
правильно, для 7, 2, bob, 10, 4. Нет? - person Sam   schedule 10.06.2020