1. Главная
  2. Библиотека
  3. Базы данных
  4. Написать программу, которая содержит текущую информацию...
Решение задачи на тему

Написать программу, которая содержит текущую информацию о книгах в библиотеке. Сведения о книгах включают: ‰ номер УДК; фамилию и инициалы автора; ‰ название; год издания; ‰ количество экземпляров данной книги в библиотеке. Программа должна обеспечивать:

  • Базы данных
  • #Проектирование баз данных
  • #Разработка приложений с использованием баз данных
Написать программу, которая содержит текущую информацию о книгах в библиотеке. Сведения о книгах включают: ‰ номер УДК; фамилию и инициалы автора; ‰ название; год издания; ‰ количество экземпляров данной книги в библиотеке. Программа должна обеспечивать:

Условие:

Написать программу, которая содержит текущую информацию о книгах в библиотеке. Сведения о книгах включают: ‰ номер УДК; фамилию и инициалы автора; ‰ название; год издания; ‰ количество экземпляров данной книги в библиотеке. Программа должна обеспечивать: ‰ начальное формирование данных о всех книгах в библиотеке в виде списка; ‰ добавление данных о книгах, вновь поступающих в библиотеку; ‰ удаление данных о списываемых книгах; ‰ по запросу выдаются сведения о наличии книг в библиотеке, упорядоченные по годам издания.

Решение:

Ниже приведён один из вариантов решения задачи на языке Python с подробными комментариями и пошаговым объяснением.

────────────────────────────── Шаг 1. Определим структуру данных для книги

Для хранения сведений о книге удобно создать класс Book, в котором будут следующие поля: – udc (номер УДК) – author (фамилия и инициалы автора) – title (название книги) – year (год издания) – quantity (количество экземпляров)

Класс также будет иметь метод для красивого вывода информации о книге.

────────────────────────────── Шаг 2. Создадим список, содержащий начальные данные о кн...

class Book: def (self, udc, author, title, year, quantity): self.udc = udc # номер УДК self.author = author # фамилия и инициалы автора self.title = title # название книги self.year = year # год издания self.quantity = quantity # количество экземпляров

def (self): return fУДК: {self.udc}, Автор: {self.author}, Название: {self.title}, Год: {self.year}, Количество: {self.quantity}

books = [ Book(001.642, Иванов И.И., Программирование на Python, 2018, 5), Book(005.133, Петров П.П., Введение в алгоритмы, 2015, 3), Book(004.421, Сидоров С.С., Основы информатики, 2020, 2) ]

def addook(): print(Добавление новой книги в библиотеку:) udc = input(Введите номер УДК: ) author = input(Введите фамилию и инициалы автора: ) title = input(Введите название книги: ) try: year = int(input(Введите год издания: )) except ValueError: print(Неверный ввод года. Операция отменена.) return try: quantity = int(input(Введите количество экземпляров: )) except ValueError: print(Неверный ввод количества. Операция отменена.) return newook = Book(udc, author, title, year, quantity) books.append(newook) print(Книга успешно добавлена!)

def removeook(): print(Удаление книги из библиотеки:) udc = input(Введите номер УДК книги для удаления: )

Найдём книгу с указанным номером УДК

for book in books: if book.udc == udc: books.remove(book) print(Книга удалена!) return print(Книга с таким номером УДК не найдена.)

def sortdisplayooks(): if not books: print(Список книг пуст!) return

Сортируем список по году издания

sortedooks = sorted(books, key=lambda b: b.year) print(Сведения о книгах, отсортированные по году издания:) for book in sortedooks: print(book)

def main(): while True: print(\n===== Меню библиотеки =====) print(1. Вывести информацию о книгах (отсортировано по году издания)) print(2. Добавить новую книгу) print(3. Удалить книгу) print(4. Выход) choice = input(Ваш выбор (1-4): ) if choice == 1: sortdisplayooks() elif choice == 2: addook() elif choice == 3: removeook() elif choice == 4: print(Выход из программы. До свидания!) break else: print(Неверный выбор. Повторите попытку.)

if == : main()


────────────────────────────── Пошаговое объяснение работы программы:

  1. При запуске программы создаётся список books с начальными данными.
  2. В функции main() выводится меню, в котором пользователь может: • Вывести список всех книг, отсортированных по году издания. Для этого вызывается функция sortdisplayooks(), которая сортирует список и выводит каждую книгу. • Добавить книгу: функция addook() запрашивает у пользователя все необходимые данные и добавляет новую книгу в список. • Удалить книгу: функция removeook() запрашивает номер УДК книги и, если книга найдена, удаляет её из списка. • Выйти: завершает работу программы.
  3. Программа работает в бесконечном цикле, пока пользователь не выберет пункт выхода.

Таким образом, данный код соответствует поставленной задаче: хранение, добавление, удаление и сортированный вывод информации о книгах в библиотеке.

Выбери предмет