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


# Базовый класс ИЗДАНИЕ
class Izdanie:
    def __init__(self, nazvanie, avtor):
        self.nazvanie = nazvanie
        self.avtor = avtor
        
    def display_info(self):
        pass
        
    def is_target(self, author_name):
        # Метод для определения, является ли данное издание искомым по фамилии автора
        return self.avtor.lower() == author_name.lower()

# Дочерний класс КНИГА
class Kniga(Izdanie):
    def __init__(self, nazvanie, avtor, god, izdatelstvo):
        super().__init__(nazvanie, avtor)
        self.god = god
        self.izdatelstvo = izdatelstvo
        
    def display_info(self):
        print(f"[Книга] Автор: {self.avtor}, Название: «{self.nazvanie}», Год: {self.god}, Издательство: {self.izdatelstvo}")

# Дочерний класс СТАТЬЯ
class Statya(Izdanie):
    def __init__(self, nazvanie, avtor, zhurnal, nomer, god):
        super().__init__(nazvanie, avtor)
        self.zhurnal = zhurnal
        self.nomer = nomer
        self.god = god
        
    def display_info(self):
        print(f"[Статья] Автор: {self.avtor}, Название: «{self.nazvanie}» // Журнал: {self.zhurnal}, №{self.nomer}, {self.god}")

# Дочерний класс ЭЛЕКТРОННЫЙ РЕСУРС
class ElektronnyResurs(Izdanie):
    def __init__(self, nazvanie, avtor, ssylka, annotatsiya):
        super().__init__(nazvanie, avtor)
        self.ssylka = ssylka
        self.annotatsiya = annotatsiya
        
    def display_info(self):
        print(f"[Электронный ресурс] Автор: {self.avtor}, Название: «{self.nazvanie}»\n  Ссылка: {self.ssylka}\n  Аннотация: {self.annotatsiya}")

# Создание списка из n изданий
izdaniya = [
    Kniga("Война и мир", "Толстой", 1869, "Русский вестник"),
    Statya("Современные технологии", "Иванов", "Научный вестник", 3, 2024),
    ElektronnyResurs("Официальная