基于面向对象程序设计思想,构建Python 程序,完成以下功能:
- 定义书籍类Book,包括书籍名称、书籍价格和书籍状态(是否借出)。
2.定义书籍管理类BookManager,包括构造方法__init__()、菜单方法Menu()、查询书籍 方法show_all_books()、添加书籍方法add_books()、借出书籍方法lend_books()和检 查书籍是否存在方法check_books() 。
3、书籍存储在书籍管理类BookManager 的书籍列表books 中
class BOOK(object):
def __init__(self,name,price,status):
self.name = name
self.price = price
self.status = status
def __str__(self):
if self.status == 1:
stats = '未借出'
elif self.status == 0:
stats = '已借出'
else:
stats = '状态异常'
return self.name, self.price, stats
class BookManager(object):
books = []
def start(self):
self.books.append(('python', 20, 1))
self.books.append(('c', 30, 1))
self.books.append(('java', 40, 0))
def Menu(self):
self.start()
while True:
print("这是主菜单,请输入想要执行的功能")
print("1.查询所有书籍。2.添加书籍。3.借出书籍。4.检查书籍是否存在")
choice = input("请输入")
if int(choice) == 1:
self.show_all_books()
elif int(choice) == 2:
self.add_books()
elif int(choice) == 3:
self.lend_books()
elif int(choice) == 4:
self.check_books()
else:
print("输入有误请重新输入")
def show_all_books(self):
print(self.books)
def add_books(self):
name = input("请输入书籍名")
price = input("请输入书籍价格")
staus = input("输入书籍状态,1未借出,0已借出")
self.books.append((name,price,staus))
def lend_books(self):
name = input("请输入你想借阅的书籍")
for i in range(len(self.books)):
if name == self.books[i][0]:
w = BOOK(self.books[i][0],self.books[i][1],self.books[i][2])
print("你借阅的图书:"+self.books[i][0])
r = w.__str__()
print(r)
if self.books[i][2] == 1:
s = input("是否借阅yes/no")
if s == "yes":
a = self.books[i][2]
a = 0
elif s == "no":
print("取消借阅")
elif self.books[i][2] == 0:
print("你所选择的书已被借阅,请重新选择")
def check_books(self):
name = input("请输入你想要检查的书籍")
s = 0
for i in range(len(self.books)):
if name == self.books[i][0]:
print("该书籍存在,信息为",self.books[i])
s = 1
break
if s == 1:
pass
elif s == 0:
print("不存该书籍欸")
manager = BookManager()
manager.Menu()