def find_min_expense_category(n, purchases):
from collections import defaultdict
category_expenses = defaultdict(float)
for purchase in purchases:
parts = purchase.split()
category = parts[0]
price = int(parts[1])
discount = int(parts[2])
actual_cost = price * (1 - discount / 100.0)
category_expenses[category] += actual_cost
min_expense_category = min(category_expenses, key=category_expenses.get)
return min_expense_category
# Пример ввода
n = 5
purchases = [
"milk 100 10",
"clothes 1100 60",
"other 3000 55",
"meat 300 40",
"milk 120 20"
]
# Вызываем функцию и печатаем результат
result = find_min_expense_category(n, purchases)
print(result) # Ожидаемый результат: "meat"
чтоб на входе был файл
def find_min_expense_category(n, purchases):
from collections import defaultdict
category_expenses = defaultdict(float)
for purchase in purchases:
parts = purchase.split()
category = parts[0]
price = int(parts[1])
discount = int(parts[2])
actual_cost = price * (1 - discount / 100.0)
category_expenses[category] += actual_cost
min_expense_category = min(category_expenses, key=category_expenses.get)
return min_expense_category
# Пример чтения из файла
def read_purchases_from_file(filename):
with open(filename, 'r') as file:
purchases = file.readlines()
purchases = [purchase.strip() for purchase in purchases] # Удаление лишних пробелов и переводов строк
return purchases
# Указываем имя файла
filename = 'purchases.txt'
# Читаем покупки из файла
purchases = read_purchases_from_file(filename)
# Количество строк в файле
n = len(purchases)
# Вызываем функцию и печатаем результат
result = find_min_expense_category(n, purchases)
print(result) # Ожидаемый результат: "meat"
Убедитесь, что файл purchases.txt содержит данные в правильном формате, например:
milk 100 10
clothes 1100 60
other 3000 55
meat 300 40
milk 120 20
Входные данные:
Вводится натуральное число n – количество строк с данными о покупках. Далее вводятся n строк, в каждой из которых указаны категория покупки, ее цена (без учета скидки) и скидка в процентах. Гарантируется, что в каждой строке сначала идет название категории (строка из латинских букв), потом пробел, потом цена (натуральное число), потом пробел и скидка (натуральное число).
Выходные данные:
Вывести одну число – название категории товара, на которую Петя потратил меньше всего денег с учетом скидок.
Так, например, если программе на вход будут поданы следующие данные:
5
milk 100 10
clothes 1100 60
other 3000 55
meat 300 40
milk 120 20,
то она должна вывести «meat».