# 基于面向对象程序设计思想,构建Python 程序,完成以下功能: # 定义书籍类Book,包括书籍名称、书籍价格和书籍状态(是否借出)。 # 定义书籍管理类BookManager,包括构造方法__init__()、菜单方法Menu()、查询书籍 # 方法show_all_books()、添加书籍方法add_books()、借出书籍方法lend_books()和检 # 查书籍是否存在方法check_books() 。 # 书籍存储在书籍管理类BookManager 的书籍列表books 中。
时间: 2024-02-17 17:03:03 浏览: 21
好的,这是一个面向对象的Python程序设计思想,下面是实现代码:
```python
class Book:
def __init__(self, name, price, status):
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):
for book in self.books:
print(f"书籍名称:{book.name},书籍价格:{book.price},书籍状态:{'已借出' if book.status else '未借出'}")
def add_books(self):
name = input("请输入书籍名称:")
price = input("请输入书籍价格:")
self.books.append(Book(name, price, False))
print("书籍添加成功!")
def lend_books(self):
name = input("请输入书籍名称:")
if self.check_books(name):
book = self.books[self.check_books(name)-1]
if not book.status:
book.status = True
print("借出成功!")
else:
print("该书籍已经借出!")
else:
print("该书籍不存在!")
def check_books(self, name):
for i, book in enumerate(self.books):
if book.name == name:
return i+1
return False
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':
print("程序已退出!")
break
else:
print("输入错误,请重新输入!")
```
在这个程序中,我们首先定义了一个Book类,包括书籍名称、书籍价格和书籍状态。然后定义了一个BookManager类,包括构造方法__init__()、菜单方法Menu()、查询书籍方法show_all_books()、添加书籍方法add_books()、借出书籍方法lend_books()和检查书籍是否存在方法check_books()。
书籍存储在书籍管理类BookManager的书籍列表books中。在while循环中,我们调用了菜单方法Menu(),让用户选择需要进行的操作。然后根据用户输入的选择,调用相应的方法,完成对书籍的查询、添加、借出等操作。