Загрузка данных


authors = ["Достоевский", "Толстой"]

books = [
    {"title": "Идиот", "author": "Достоевский"},
    {"title": "Преступление и наказание", "author": "Достоевский"},
    {"title": "Война и мир", "author": "Толстой"},
]

readers = ["Аня", "Игорь"]

loans = [
    {"reader": "Аня", "book": "Идиот"},
    {"reader": "Аня", "book": "Война и мир"},
    {"reader": "Игорь", "book": "Преступление и наказание"},
]

def books_by_author(author):
    """
    Возвращает список названий книг указанного автора.
    
    Parameters:
    author (str): Имя автора
    
    Returns:
    list: Список названий книг автора
    """
    return [book["title"] for book in books if book["author"] == author]

def books_by_reader(reader):
    """
    Возвращает список названий книг, которые взял указанный читатель.
    
    Parameters:
    reader (str): Имя читателя
    
    Returns:
    list: Список названий книг, взятых читателем
    """
    # Находим все книги, которые взял читатель
    borrowed_books = [loan["book"] for loan in loans if loan["reader"] == reader]
    return borrowed_books


# Примеры использования
print(books_by_author("Достоевский"))  # ['Идиот', 'Преступление и наказание']
print(books_by_author("Толстой"))       # ['Война и мир']

print(books_by_reader("Аня"))           # ['Идиот', 'Война и мир']
print(books_by_reader("Игорь"))         # ['Преступление и наказание']