Элементарное в циклах while
На начальном этапе изучения питона столкнулся с проблемой понимания циклов while. Вот код.
weather = float(input())
summa = 0
while weather > -300:
summa = summa + weather
else:
print(summa)
В задании требуется вывести финальное значение переменной summa, после прибавления к этой переменной другой переменной weather со значениями больше, чем 300. Проблема в том, что при вводе числа < -300, ничего не происходит. Пытался использовать оператор continue, но к успеху это не привело. Очень буду рад помощи.
Ответы (2 шт):
Если вы введёте "числа < -300", то как раз что-то произойдёт - выведется сумма 0.
Иначе программа попадёт в бесконечный цикл - ведь изменяете вы summa, а проверяете по-прежнему weather с тем же значением, что ввели.
Как исправить? Для этого нужно более чётко поставить условие задачи.
Условия задачи действительно не понятны, но я попробовал решить.
Циклу while необходимо условие выхода из цикла или изменяемое значение которое будет менять условие цикла которое по идеи должно привести к выходу из цикла у вас ни того ни другого нет. У вас если значение weather больше чем -300 цикл попадёт в бесконечное выполнение, иначе просто выводит значение переменной summa.
На сколько я понял условие вашей задачи вам необходимо вывести сумму переменных summa и weather если значение введённые пользователем больше чем -300, иначе если значение введенное пользователем меньше или равно -300 попросить пользователя повторно ввести значение
weather = float(input("Введите значение больше чем -300\n"))
summa = 0
while True:
if weather > -300:
print(summa, end=" ")
summa = summa + weather
print("+",weather,"=",summa)
break
else:
weather = float(input("Попробуйте еще раз\n"))