diff --git a/lesson.8.py b/lesson.8.py new file mode 100644 index 0000000..40c89eb --- /dev/null +++ b/lesson.8.py @@ -0,0 +1,68 @@ +''' ****** Задание 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('Таких нет') + + + +