Словари · 20 из 20
Что ещё почитать
Задействованы также: Списки, Кортежи и множества
Зинаида Петровна советует книги так: смотрит, что человек уже брал, находит тех, кто брал то же самое, и предлагает их книги.
Что сделать
Посоветуйте читателю книги так, как это делает Зинаида Петровна.
Что приходит
chitateli— словарь «фамилия → список взятых книг»komu— фамилия читателя, которому советуем
Что вернуть
Список книг, которые брали люди хотя бы с одной общей с ним книгой, а он ещё не брал; чаще советуемые — раньше, при равенстве — по алфавиту.
Допишите функцию sovety в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
Иванов брал «А» и «Б». С ним пересекается Петров — общая «Б», — и у Петрова есть «В». Сидоров тоже брал «В», но общих книг с Ивановым у него нет, и его голос не считается. Ответ — ["В"].
sovety({'Иванов': ['А', 'Б'], 'Петров': ['Б', 'В'], 'Сидоров': ['В']}, 'Иванов')
['В']
Функция принимает словарь: фамилия — список взятых книг, и фамилию читателя. Возвращает список советов: книги, которые брали люди, читавшие хотя бы одну общую книгу с нашим читателем, и которых он сам ещё не брал.
Порядок: сначала те, что советуют больше людей; при равенстве — по алфавиту. Если читателя нет в словаре, возвращается пустой список.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.