project_python.3.2/lesson.8.py

69 lines
2.7 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.

''' ****** Задание 7 из 20 *********
* Каждый воспитанник детского сада может любить одну или несколько каш. Воспитателю нужно быстро получить список фамилий тех, кто любит определённый вид каши.
Напишите программу, которая по списку учеников и их любимых каш определяет, кто именно любит заданную кашу.
Формат ввода
В первой строке задаётся количество детей в группе (N).
В следующих N строках записана фамилия ребенка и список его любимых каш.
В последней строке записана каша, информацию о которой хочет получить воспитатель.
Формат вывода
Фамилии учеников, которые любят заданную кашу, в алфавитном порядке.
Если таких не окажется, в строке вывода нужно написать «Таких нет».
Подсказка
При считывании данных удобно воспользоваться распаковкой:
name, *food = input().split()
Таким образом вы получите имя человека и список его любимых каш. Пройдите по этому списку:
если каша раньше не встречалась, запишите её в словарь, а в качестве значения установите список, содержащий текущего ребенка;
иначе, добавьте текущего ребёнка в уже существующий список.
Выведите отсортированный список по ключу равному введённой каше.
Пример 1
Ввод
5
Васильев манная
Петров манная
Васечкин манная
Иванов овсяная
Михайлов овсяная
манная
Вывод
Васечкин
Васильев
Петров
'''
if __name__ == "__main__":
total_students = int(input())
student_records = []
for _ in range(total_students):
record = input().split()
student_records.append(record)
student_records.sort()
search_subject = input()
matching_students_count = 0
for student in student_records:
if search_subject in student[1:]:
print(student[0])
matching_students_count += 1
if matching_students_count == 0:
print('Таких нет')