Вопрос задан 17.06.2023 в 07:34. Предмет Информатика. Спрашивает Дудко Валерия.

Имеются сведения о книгах, содержащихся в библиотеке. Сведения о каждой из книг — это фамилия

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

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Кабылтай Аружан.

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()

###########

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

a) Получить название книг данного автора, изданных с 1960 г.

Для получения названий книг данного автора, изданных с 1960 года, нужно выполнить следующие шаги: 1. Найти фамилию автора в сведениях о книгах в библиотеке. 2. Проверить год издания каждой книги данного автора. 3. Если год издания больше или равен 1960 году, сохранить название книги.

Примерный алгоритм: 1. Извлечь фамилию автора из входных данных. 2. Пройти по каждой книге в библиотеке и проверить, является ли автором указанный автор. 3. Если автор совпадает и год издания больше или равен 1960 году, сохранить название книги. 4. Вывести список названий найденных книг.

Примерный код на Python: ```python def get_books_by_author_and_year(library, author, year): books = [] for book in library: if book['author'] == author and book['year'] >= year: books.append(book['title']) return books

# Пример использования функции library = [ {'author': 'Иванов', 'title': 'Книга 1', 'year': 1950}, {'author': 'Петров', 'title': 'Книга 2', 'year': 1965}, {'author': 'Иванов', 'title': 'Книга 3', 'year': 1970}, ]

author = 'Иванов' year = 1960

books = get_books_by_author_and_year(library, author, year) print(books) ```

б) Определить, имеется ли книга, содержащая в своем названии слово «информатика». Вывести сведения обо всех таких книгах.

Для определения наличия книги, содержащей в своем названии слово "информатика", нужно выполнить следующие шаги: 1. Проверить каждую книгу в библиотеке на наличие слова "информатика" в названии. 2. Если слово "информатика" найдено, сохранить сведения о книге.

Примерный алгоритм: 1. Пройти по каждой книге в библиотеке. 2. Проверить, содержит ли название книги слово "информатика". 3. Если содержит, сохранить сведения о книге. 4. Вывести список сведений о найденных книгах.

Примерный код на Python: ```python def find_books_with_keyword(library, keyword): books = [] for book in library: if keyword in book['title']: books.append(book) return books

# Пример использования функции library = [ {'author': 'Иванов', 'title': 'Книга 1: Введение в информатику', 'year': 2000}, {'author': 'Петров', 'title': 'Книга 2: Основы программирования', 'year': 1995}, {'author': 'Сидоров', 'title': 'Книга 3: Математика и информатика', 'year': 2010}, ]

keyword = 'информатика'

books = find_books_with_keyword(library, keyword) for book in books: print(f"Автор: {book['author']}, Название: {book['title']}, Год издания: {book['year']}") ```

в) Вывести сведения о книгах, которые имеют несколько изданий (автор и названия повторяются, а годы издания разные).

Для вывода сведений о книгах, которые имеют несколько изданий, нужно выполнить следующие шаги: 1. Сгруппировать книги по автору и названию. 2. Проверить, есть ли у каждой группы книг более одного издания. 3. Если есть, сохранить сведения о книге.

Примерный алгоритм: 1. Создать пустой словарь для хранения групп книг. 2. Пройти по каждой книге в библиотеке. 3. Использовать автора и название книги в качестве ключа словаря. 4. Если ключ уже существует, добавить год издания к списку годов издания для данной группы книг. 5. Если ключ не существует, создать новую запись в словаре с годом издания в качестве первого элемента списка годов издания. 6. Пройти по каждой группе книг в словаре. 7. Проверить, содержит ли группа книг более одного года издания. 8. Если содержит, вывести сведения о книге.

Примерный код на Python: ```python from collections import defaultdict

def find_books_with_multiple_editions(library): book_groups = defaultdict(list) for book in library: key = (book['author'], book['title']) book_groups[key].append(book['year']) books_with_multiple_editions = [] for key, years in book_groups.items(): if len(years) > 1: author, title = key books_with_multiple_editions.append({'author': author, 'title': title, 'years': years}) return books_with_multiple_editions

# Пример использования функции library = [ {'author': 'Иванов', 'title': 'Книга 1', 'year': 2000}, {'author': 'Петров', 'title': 'Книга 2', 'year': 1995}, {'author': 'Иванов', 'title': 'Книга 1', 'year': 2010}, {'author': 'Сидоров', 'title': 'Книга 3', 'year': 2005}, ]

books = find_books_with_multiple_editions(library) for book in books: print(f"Автор: {book['author']}, Название: {book['title']}, Годы издания: {', '.join(map(str, book['years']))}") ```

Примечание: Предоставленные сведения о книгах в библиотеке являются фрагментами текста и не содержат полной информации о книгах. Поэтому, в приведенных примерах использованы вымышленные данные для наглядности. В реальной ситуации, необходимо использовать полные и точные данные о книгах для выполнения поставленных задач.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос