#python #while-loop
Вопрос:
У меня проблема с циклом while. В принципе, программа должна постоянно просить пользователя вводить цену товара, пока он не введет «Готово», и распечатать общий счет. Для контекста я приведу свой код на данный момент.
a = float(input('Price? '))
count = 0
while a > 0:
b = float(input('Price? '))
count = b
if a == 'Done':
print('Total is
Комментарии:
1. Состояние
while
цикла,a
, никогда не меняется, поэтому цикл либо никогда не выполняется, либо никогда не останавливается…if a == 'Done'
Проверка должна произойти где-то внутри цикла, если вы хотите использовать ее в качестве условия для завершения цикла…
Ответ №1:
count = 0
while True:
a = input('Price? ')
if a == 'Done':
print('Total is
Обратите внимание, что этот код прерывается, если пользователь вводит строку, которая не является ни "Готово", ни литералом с плавающей запятой. Для этого вам нужно будет окружить count = float(a)
линию блоком try / except.
, count)
Комментарии:
1. Состояние
while
цикла,a
, никогда не меняется, поэтому цикл либо никогда не выполняется, либо никогда не останавливается…if a == 'Done'
Проверка должна произойти где-то внутри цикла, если вы хотите использовать ее в качестве условия для завершения цикла…
Ответ №1:
Обратите внимание, что этот код прерывается, если пользователь вводит строку, которая не является ни "Готово", ни литералом с плавающей запятой. Для этого вам нужно будет окружить count = float(a)
линию блоком try / except.
, count)
break
count = float(a)
Обратите внимание, что этот код прерывается, если пользователь вводит строку, которая не является ни «Готово», ни литералом с плавающей запятой. Для этого вам нужно будет окружить count = float(a)
линию блоком try / except.
, count)
Комментарии:
1. Состояние
while
цикла,a
, никогда не меняется, поэтому цикл либо никогда не выполняется, либо никогда не останавливается…if a == 'Done'
Проверка должна произойти где-то внутри цикла, если вы хотите использовать ее в качестве условия для завершения цикла…
Ответ №1:
Обратите внимание, что этот код прерывается, если пользователь вводит строку, которая не является ни «Готово», ни литералом с плавающей запятой. Для этого вам нужно будет окружить count = float(a)
линию блоком try / except.