Непрерывный ввод Python

#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.