Пользователь вводит строку, содержащую названия товаров (через пробел).
При этом, если товар скидочный, то его название содержит в конце суффиксс
“-disc” (например, “someItem” – это товар без скидки, “item1-disc” – со
скидкой).
Из строки с названиями создать список.
Согласно количеству названий создать список цен. Значения цен товаров
сгенерировать в диапазоне от 100 до 1000.
Рассчитать сумму заказа (предполагается, что пользователь берет каждый
товар в количестве 1 шт.), если для скидочных товаров действует скидка 25%.
Сформировать «чек» заказа. Например:
someItem – 100
item1-disc – 200 (25% off) - 150
someItem1 – 200
item2-disc – 100 (25% off) – 75
SumOrder: 22
На Python
Answers & Comments
Ответ:
product_names = input("Введите названия товаров, разделенных пробелами: ").split()
prices = [randint(100, 1000) for _ in range(len(product_names))]
discounts = ["-disc" in name for name in product_names]
total_price = sum(price * (1 - 0.25*discount) for price, discount in zip(prices, discounts))
print("Чек заказа:")
for i in range(len(product_names)):
name = product_names[i]
price = prices[i]
if discounts[i]:
price_with_discount = int(price * 0.75)
print(f"{name} - {price} (25% off) - {price_with_discount}")
else:
print(f"{name} - {price}")
print(f"SumOrder: {total_price}")
Объяснение: