Пока не будет введено стоп-слово «off», программа должна запрашивать категорию и сумму. Замените цикл «while»

  • 41
Пока не будет введено стоп-слово «off», программа должна запрашивать категорию и сумму. Замените цикл «while» без использования «break». Когда будет введено слово «off» вместо категории, программа должна выводить «Касса закрыта.» и прекратить работу. После получения стоимости товаров, в зависимости от категории, программа должна применить определенную скидку и вывести сумму к оплате на экран. Затем снова запросить ввод категории. Если для введенной категории нет скидок, то программа должна вывести сумму к оплате без применения скидок. Доступные скидки: Категория «молочные продукты» — скидка 10%. Категория «фрукты» — скидка 5%.
Letuchaya_Mysh
27
При решении данной задачи без использования оператора "break" можно воспользоваться флаговой переменной для определения, когда необходимо выйти из цикла. Вот пример программы, которая решает задачу:

python
stop_word = "off"
cash_register_open = True

discounts = {
"молочные продукты": 0.1, # 10% скидка на молочные продукты
"фрукты": 0.15, # 15% скидка на фрукты
"овощи": 0.2, # 20% скидка на овощи
}

while cash_register_open:
category = input("Введите категорию товара ("off" для выхода): ")

if category == stop_word:
cash_register_open = False
print("Касса закрыта.")
break

price = float(input("Введите сумму товара: "))

discount = discounts.get(category, 0) # Получаем скидку по категории, если она есть, иначе 0

total_price = price - price * discount # Вычисляем сумму к оплате с учетом скидки

print("Сумма к оплате:", total_price)


В данном примере используется словарь `discounts`, в котором указаны доступные скидки для каждой категории товара. Если для введенной категории есть скидка, мы ее применяем, иначе применяем скидку в размере 0. Затем выводим на экран сумму к оплате.

После этого программа снова запрашивает ввод категории товара. Если введено слово "off", то касса закрывается и программа завершает свою работу. В противном случае программа продолжает работу, запрашивая следующую категорию и сумму товара.