Как сделать так ,чтобы считались все введенные числа?Не понимаю как в конечную сумму добавить первый num
sum = 0
amount = 0
num = float(input("Введите цены товаров(0 для выхода): "))
while num != 0:
if (num == 0):
print("Error")
exit(0)
num = float(input("Введите цены товаров(0 для выхода): "))
sum += num
print("Сумма покупки: ",sum)
Ответы (2 шт):
Автор решения: re1von
→ Ссылка
В вашем коде множество проблем.
- Условие
if (num == 0)никогда не выполняется, т.к. циклwhileпри условииnum != 0остановится сразу же, какnumполучит значение0. - Даже если бы условие
if (num == 0)срабатывало, то вы бы получалиSystemExitблагодаряexit(0)вместо итоговой суммы, а возможность узнать конечную стоимость всей покупки отсутствует вовсе. - У вас идет конкретное дублирование кода.
- Вы проинициализировали неиспользуемую переменную
amount. - Вы заменяете "системную" функцию
sumна переменную.
Я предлагаю улучшить ваш код до:
amount = 0
while price := float(input('Введите цену товара (0 для выхода): ')):
amount += price
if not amount:
raise SystemExit('Error')
print(f'Сумма покупки: {amount}')
Что касается вашего вопроса, то вы просто не прибавляете к переменной sum значение первой num.
Автор решения: Сергей
→ Ссылка
Оставаясь в логике вашей программы надо просто присвоить это значение переменной summ, да проверку на ошибку вынести за цикл.
Переменную sum переименовал - это имя функции в Python, нехорошо её переопределять.
num = float(input("Введите цены товаров(0 для выхода): "))
if not num:
print ("Error")
exit (0)
summ = num
while num:
num = float(input("Введите цены товаров(0 для выхода): "))
summ += num
print("Сумма покупки: ",summ)