Код:
# Чтение входных данных
n = int(input())
data = []
# Считываем поставки в список словарей
for _ in range(n):
tmp = input().split()
temp_dict = {
"tovar": tmp[0],
"firma": tmp[1],
"colvo": int(tmp[2])
}
data.append(temp_dict)
# Считываем фирму для исключения
firm_to_exclude = input()
# Фильтруем данные, исключая поставки указанной фирмы
data_new = [item for item in data if item["firma"] != firm_to_exclude]
# Сортируем оставшиеся поставки: сначала по наименованию товара, затем по количеству в убывающем порядке
sorted_data = sorted(data_new, key=lambda x: (x['tovar'], -x['colvo']))
# Выводим первые 10 записей из отсортированного списка
for item in sorted_data[:10]:
print(item["tovar"], item["firma"], item["colvo"])
В текстовом файле содержатся записи о поставках товаров. Для каждой поставки указано наименование поставленного товара, фирма-производитель и количество. Необходимо вывести первые 10
поставок списка, полученного в результате сортировки исходного списка по наименованию товара (при совпадении наименований поставки сортируются по количеству товара в порядке невозрастания, при совпадении наименования и количества сохраняется исходный порядок) и исключения из списка поставок товаров фирмы, указанной в последней строке файла.
Формат входных данных
В первой строке входного файла указано число N
— количество поставок. Каждая из следующих N
строк состоит из наименования товара, наименования фирмы-производителя и количества товара в поставке, разделённых пробелом. В последней строке записано наименование фирмы, поставки которой исключены из рассмотрения.
Формат выходных данных
Выведите в выходной файл 10
или менее строк с описанием поставок, формат аналогичен формату входного файла.
Примеры:
Вход
5
tovar1 firma1 10
tovar2 firma1 20
tovar1 firma3 5
tovar1 firma2 30
tovar3 firma3 50
firma3
Выход
tovar1 firma2 30
tovar1 firma1 10
tovar2 firma1 20
Вход
3
trava miloworld 99
trava shilocorp 99
drova sweetrama 7
contoraltd
Выход
drova sweetrama 7
trava miloworld 99
trava shilocorp 99