Почему в цикле выводиться одинаковые значения при использования функции min и max?
Нужно написать программу, в которой можно вводить рост, а после выведет Сумму, Минимальное значение и максимальное.
Код:
znach = 1
sum = 0
while True:
a = int(input("Введите рост ученика: "))
if a > 0:
sum+=a
m = min([a])
u = max([a])
if a == 0:
znach = znach + 1
print(f"Введено значений: {znach}")
print(f"Суммарный рост: {sum}")
print(f"Минимальный рост: {m}")
print(f"Максимальный рост: {u}")
Ответы (1 шт):
Автор решения: Zhihar
→ Ссылка
сначала накопите значения
arr = [] while True: a = int(input("Введите рост ученика: ")) if a == 0: break arr.append(a)и лишь затем ищите максимумы и минимумы (так удобнее)
print(min(arr), max(arr), sum(arr))
для задач в которых не вводятся миллионы значений - это оптимальный вариант
Ну или обрабатывайте каждое значение в цикле
a_max = None
while True:
a = int(input("Введите рост ученика: "))
if a == 0:
break
if a > a_max or a_max is None:
a_max = a