Розробити систему управління книжковою полицею, де користувач може додавати книги (з назвою та автором), переглядати список всіх доданих книг або завершити роботу програми. Додана книга має зберігатися у вигляді словника з полями "Назва" та "Автор". Програма має мати текстовий інтерфейс та очищати екран після кожної операції.
Детальне технічне завдання:
Створити список books, де будуть зберігатися дані про книги. Кожна книга представляється у вигляді словника з полями "Назва" та "Автор".
Визначити функцію book_shelf(), яка буде слугувати основним інтерфейсом програми.
У цій функції користувачу пропонується вибрати одну з наступних дій:
"Додати книгу"
"Переглянути список книг"
"Вийти"
Вибір реалізований за допомогою функції select.
Якщо користувач обрав "Додати книгу":
Він має ввести назву книги та ім'я автора через функцію input.
Введені дані додаються до списку books.
Виводиться повідомлення "Книгу додано!".
Якщо користувач обрав "Переглянути список книг":
Весь поточний список книг виводиться на екран у вигляді таблиці за допомогою put_table.
Якщо користувач обрав "Вийти":
Цикл завершується і програма закінчує свою роботу.
Після кожної дії інтерфейс очищається функцією clear().
Функція book_shelf() запускається тільки тоді, коли програма виконується як основний модуль (не імпортована).
кодом в пайтон
Ответы
Код:
import os
# Функція для очищення екрану
def clear():
os.system('clear' if os.name == 'posix' else 'cls')
# Функція для виведення списку книг у вигляді таблиці
def put_table(data):
print("Список книг:")
print("=" * 30)
print("Назва".ljust(20) + "Автор")
print("-" * 30)
for book in data:
print(book["title"].ljust(20) + book["author"])
print("=" * 30)
# Основна функція для взаємодії з користувачем
def book_shelf():
books = []
while True:
clear()
print("1. Додати книгу")
print("2. Переглянути список книг")
print("3. Вийти")
choice = input("Виберіть дію: ")
if choice == '1':
clear()
title = input("Введіть назву книги: ")
author = input("Введіть автора книги: ")
books.append({"title": title, "author": author})
print("Книгу додано!")
elif choice == '2':
clear()
if books:
put_table(books)
else:
print("Список книг порожній.")
elif choice == '3':
clear()
print("Програма завершує свою роботу.")
break
input("\nНатисніть Enter, щоб продовжити...")
if __name__ == "__main__":
book_shelf()