project_python.3.2/lesson.13.py

78 lines
2.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

''' ****** Задание 13 из 20 *********
* Главный повар детского сада готовит меню на праздник и хочет выбрать блюда, которые ни разу не подавались на этой неделе.
В его распоряжении есть список блюд:
которые можно приготовить в столовой сегодня;
которые были приготовлены в каждый из дней недели.
Напишите программу, которая по списку доступных сегодня блюд и истории приготовления на неделе определяет, что из этого можно приготовить нового.
Формат ввода
Число блюд (N), которые можно приготовить в столовой.
N строк с названиями блюд.
Число дней (M), о которых имеется информация.
M блоков строк для каждого из списков.
В первой строке каждого блока записано число блюд в заданный день, затем перечисляются эти блюда.
Формат вывода
Список блюд, которые ещё не готовились на этой неделе в алфавитном порядке.
Если все возможные блюда уже были приготовлены, следует вывести «Готовить нечего».
Подсказка
Сформируйте множество блюд, а затем вычитайте из него уже приготовленные.
Пример
Ввод
5
Овсянка
Рис
Суп
Манная каша
Рыба
2
3
Рис
Суп
Рыба
2
Рис
Рыба
Вывод
Манная каша
Овсянка
'''
if __name__ == "__main__":
available_dishes = set()
prepared_dishes = set()
total_available = int(input())
for _ in range(total_available):
dish_name = input()
available_dishes.add(dish_name)
total_menus = int(input())
for _ in range(total_menus):
daily_count = int(input())
for _ in range(daily_count):
dish_name = input()
prepared_dishes.add(dish_name)
remaining_dishes = sorted(available_dishes - prepared_dishes)
if remaining_dishes:
for dish in remaining_dishes:
print(dish)
else:
print('Готовить нечего')