В продуктовом магазине объявили акцию: «На все товары с ценой не менее 500 тугриков предоставляется скидка 10%».
Нас попросили разработать программное обеспечение кассового автомата, которое будет считать итоговую сумму покупки с учётом скидки.
Формат ввода
Вводится некоторое количество рациональных чисел — стоимость товаров.
Список завершается значением 0.
Формат вывода:
Требуется вывести сумму всех товаров с учётом объявленной акции.
Пример
Ввод
100
500
333
0
Вывод
883.0
Ввод
512
499
342.50
0
Вывод
1302.3
Решение
Инициализируем переменную, в которой будем накапливать сумму нулем.
В цикле принимаем цену на товары, пока не получим ноль в качестве цены.
Если цена больше или равна 500, умножаем ее на 0.9 (скидка 10%).
Добавляем цену к сумме.
По окончании цикла, выводим сумму.
Посмотреть код
Решение наивное
summa = 0
while (price := float(input())) != 0:
if price >= 500:
price *= 0.9
summa += price
print(summa)
Решение неверное. Если price < 500, то сумма неверная.
s = 0
while (a := float(input())) != 0:
if a >= 500:
a = a * 0.9
else:
a = a
s = s + a
print(s)
не совсем понятно, что вы имеете в виду. Лучше всего сразу давать конкретные числа, на которых решение не работает.
Кроме того, для корректного оформления вашего кода есть блок “код”, который находится под окном комментария и выглядит так: </>
Если воспользоваться им, то сохранится форматирование вашего кода.
Прошу прощения! Неправильно посмотрел.
Бывает. Не страшно 🙂