Найти - Пользователи
Полная версия: Задача по классам.
Начало » Центр помощи » Задача по классам.
1
Takru
Добрый день.

Просьба помочь с решение задачи по классам

Напишите структуру класса, реализующую библиотеку. Классы:

1) Library - name, books = , authors =

2) Book - name, year, author (автор должен быть экземпляром класса Author)

3) Author - name, country, birthday, books =

Library class

Методы:

- new_book(name: str, year: int, author: Author) - возвращает экземпляр класса Book и добавляет книгу в список книг для текущей библиотеки.

- group_by_author(author: Author) - возвращает список всех книг, сгруппированных по указанному автору

- group_by_year(year: int) - возвращает список всех книг, сгруппированных по указанному году

 class Library:
    pass
 
class Book:
    pass
class Author:
    pass
py.user.next
Для передачи кода на форуме используй теги code.

[code python]
тут пиши код
[/code]
pyser
 class Book:
    def __init__(self, name: str, year: int, author: 'Author'):
        self.name = name
        self.year = year
        self.author = author
class Author:
    def __init__(self, name: str, country: str, birthday: str):
        self.name = name
        self.country = country
        self.birthday = birthday
        self.books = []
class Library:
    def __init__(self, name: str):
        self.name = name
        self.books = []
        self.authors = []
    def new_book(self, name: str, year: int, author: 'Author') -> Book:
        book = Book(name, year, author)
        self.books.append(book)
        return book
    def group_by_author(self, author: 'Author') -> list:
        books_by_author = []
        for book in self.books:
            if book.author == author:
                books_by_author.append(book)
        return books_by_author
    def group_by_year(self, year: int) -> list:
        books_by_year = []
        for book in self.books:
            if book.year == year:
                books_by_year.append(book)
        return books_by_year
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB