基于面向对象程序设计思想,构建Python 程序,完成以下功能: 定义书籍类Book,包括书籍名称、书籍价格和书籍状态(是否借出)。 定义书籍管理类BookManager,包括构造方法__init__()、菜单方法Menu()、查询书籍 方法 show_all_books()、添加书籍方法 add_books()、借出书籍方法 lend_books()和检 查书籍是否存在方法check_books() 。 书籍存储在书籍管理类BookManager 的书籍列表books 中。
时间: 2024-02-03 12:14:26 浏览: 35
下面是实现代码:
```python
class Book:
def __init__(self, name, price, status=False):
self.name = name
self.price = price
self.status = status
class BookManager:
def __init__(self):
self.books = []
def Menu(self):
print("1. 显示所有图书")
print("2. 添加图书")
print("3. 借出图书")
print("4. 退出")
def show_all_books(self):
if not self.books:
print("没有任何书籍")
return
for book in self.books:
status = "可借" if not book.status else "已借出"
print(f"书名:{book.name},价格:{book.price}元,状态:{status}")
def add_books(self):
name = input("请输入书籍名称:")
price = float(input("请输入书籍价格:"))
book = Book(name, price)
self.books.append(book)
print("添加成功")
def check_books(self, name):
for book in self.books:
if book.name == name:
return book
return None
def lend_books(self):
name = input("请输入要借出的书籍名称:")
book = self.check_books(name)
if not book:
print("该书籍不存在")
return
if book.status:
print("该书籍已借出")
return
book.status = True
print("借阅成功")
if __name__ == "__main__":
manager = BookManager()
while True:
manager.Menu()
choice = input("请选择菜单项:")
if choice == "1":
manager.show_all_books()
elif choice == "2":
manager.add_books()
elif choice == "3":
manager.lend_books()
elif choice == "4":
break
else:
print("请输入正确的菜单项")
```
这里定义了两个类:`Book` 和 `BookManager`。`Book` 类用于表示一本书籍,包括书籍名称、价格和状态;`BookManager` 类用于管理书籍,包括菜单方法、查询书籍方法、添加书籍方法、借出书籍方法和检查书籍是否存在方法。
在 `BookManager` 类中,书籍存储在 `books` 列表中。`Menu()` 方法用于显示菜单,用户可以选择要执行的操作。`show_all_books()` 方法用于显示所有的书籍,`add_books()` 方法用于添加一本新书籍,`lend_books()` 方法用于借出一本书籍,`check_books()` 方法用于检查书籍是否存在。
在程序主体中,首先创建一个 `BookManager` 对象,然后进入一个循环,显示菜单,接受用户输入,并根据用户选择执行相应的操作。当用户选择退出时,程序结束。