Имеются сведения о книгах, содержащихся в библиотеке. Сведения о каждой из книг — это фамилия автора, название и год издания. а) Получить название книг данного автора, изданных с 1960 г.
б) Определить, имеется ли книга, содержащая в своем название слово «информатика». Вывести сведения обо всех таких книгах
в) Вывести сведения о книгах, которые имеют несколько изданий (автор и названия повторяются, а годы издания разные)

helppliz5 helppliz5    2   22.01.2022 04:33    0

Ответы
viktrozumovskaoyqqjq viktrozumovskaoyqqjq  26.02.2022 06:31

Python:

class book:

   def __init__(self, author, name, date):

       self.author = author

       self.name = name

       self.date = date

   

   def print(self):

       print(self.name, self.author, self.date)

book1 = book("абоба", "математика 8 класс", 1951)

book2 = book("абоба", "информатика 8 класс", 1992)

book3 = book("абоба", "математика 10 класс", 1991)

book4 = book("абоба1", "математика 10 класс", 1994)

book5 = book("абоба1", "информатика 10 класс", 1955)

book6 = book("абоба1", "информатика 11 класс", 1993)

book7 = book("абоба", "физика 8 класс", 1952)

book8 = book("абоба", "информатика 8 класс", 1871)

book9 = book("абоба1", "физика 8 класс", 1951)

book10 = book("абоба1", "физика 8 класс", 1971)

library = [book1, book2, book3, book4, book5, book6, book7, book8, book9, book10]

# a

author = "абоба" # автор, книги которого ищем

print("а)")

for i in range(len(library)):

   if library[i].author == author and library[i].date >= 1960:

       print(library[i].name)

# б

print("б)")

for i in range(len(library)):

   for k in library[i].name.split():

       if k == 'информатика':

           library[i].print()

# в

print("в)")

for i in range(len(library) - 1):

   for j in range(i + 1, len(library)):

       if library[i].author == library[j].author and library[i].name == library[j].name:

           library[i].print()

           library[j].print()

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика