具体代码
class Book:
def __init__(self,name,author,comment,state=0):
self.name = name
self.author = author
self.comment = comment
self.state = state
def __str__(self):
status = '未借出'
if self.state == 1:
status = '已借出'
return'名称:《%s》\t作者:%s\n推荐语:%s\n状态:%s'%(self.name,self.author,self.comment,status)
class BookManager:
books = []
def __init__(self):
book1 = Book('小王子','安托万·德·圣埃克絮佩里','所述的飞行员坠机于撒哈拉沙漠的情节明显取材于圣埃克苏佩里的亲身经历。')
book2 = Book('悲惨世界','维克多·雨果','描绘19世纪初20年间几个法国人物的生活背景,涵盖拿破仑战争和1832年巴黎共和党人起义等政治现象叙述。')
book3 = Book('霍乱时期的爱情','加西亚·马尔克斯','讲述了一段跨越半个多世纪的爱情故事:男女主人公在二十岁的时候没能结婚,因为他们太年轻了;经过各种人生曲折之后,到了八十岁,他们还是没能结婚,因为他们太老了。')
self.books.append(book1)
self.books.append(book2)
self.books.append(book3)
def menu(self):
print('欢迎使用贝多芬图书管理系统,周恩来说过:“书籍是人类进步的阶梯!”。\n')
while True:
print('1.查询所有书籍\n2.添加书籍\n3.借阅书籍\n4.归还书籍\n5.退出系统\n')
choice = int(input('请输入数字选择对应功能:'))
if choice == 1:
self.show_all_book()
elif choice == 2:
self.add_book()
elif choice == 3:
self.lend_book()
elif choice == 4:
self.return_book()
elif choice == 5:
print('欢迎下次使用,谢谢,祝您阅读愉快!')
break
def show_all_book(self):
for book in self.books:
print(book)
print('')
def add_book(self):
new_name = input('请输入书籍名称:')
new_author = input('请输入作者:')
new_comment = input('请输入推荐语:')
new_book = Book(new_name,new_author,new_comment)
self.books.append(new_book)
print('恭喜!书籍录入成功!\n')
def check_book(self, name):
for book in self.books:
if book.name == name:
return book
else:
return None
def lend_book(self):
name = input('请输入想要借阅书的书名:')
res = self.check_book(name)
if res != None:
if res.state == 1:
print('你来晚了一步,这本书被借走了哟!')
else:
print('借阅成功,为期一个月,请按时还书哟!')
res.state = 1
else:
print('非常抱歉,本图书馆暂时还未收纳本书!')
def return_book(self):
name = input('请输入归还书籍的名称:')
rem = self.check_book(name)
if rem != None:
if rem.state == 1:
print('归还成功,欢迎下次借阅!')
else:
print('不需归还,请核实信息')
else:
print('这本书暂时没用在系统中!')
manager = BookManager()
manager.menu()
实践功能
欢迎使用贝多芬图书管理系统,周恩来说过:“书籍是人类进步的阶梯!”
1.查询所有书籍
2.添加书籍
3.借阅书籍
4.归还书籍
5.退出系统
请输入数字选择对应功能:1
名称:《小王子》 作者:安托万·德·圣埃克絮佩里
推荐语:所述的飞行员坠机于撒哈拉沙漠的情节明显取材于圣埃克苏佩里的亲身经历。
状态:未借出
名称:《悲惨世界》 作者:维克多·雨果
推荐语:描绘19世纪初20年间几个法国人物的生活背景,涵盖拿破仑战争和1832年巴黎共和党人起义等政治现象叙述。
状态:未借出
名称:《霍乱时期的爱情》 作者:加西亚·马尔克斯
推荐语:讲述了一段跨越半个多世纪的爱情故事:男女主人公在二十岁的时候没能结婚,因为他们太年轻了;经过各种人生曲折之后,到了八十岁,他们还是没能结婚,
因为他们太老了。
状态:未借出
1.查询所有书籍
2.添加书籍
3.借阅书籍
4.归还书籍
5.退出系统
请输入数字选择对应功能:2
请输入书籍名称:围城
请输入作者:钱钟书
请输入推荐语:是中国现代文学史上一部风格独特的讽刺小说。被誉为“新儒林外史”。
恭喜!书籍录入成功!
1.查询所有书籍
2.添加书籍
3.借阅书籍
4.归还书籍
5.退出系统
请输入数字选择对应功能:1
名称:《小王子》 作者:安托万·德·圣埃克絮佩里
推荐语:所述的飞行员坠机于撒哈拉沙漠的情节明显取材于圣埃克苏佩里的亲身经历。
状态:未借出
名称:《悲惨世界》 作者:维克多·雨果
推荐语:描绘19世纪初20年间几个法国人物的生活背景,涵盖拿破仑战争和1832年巴黎共和党人起义等政治现象叙述。
状态:未借出
名称:《霍乱时期的爱情》 作者:加西亚·马尔克斯
推荐语:讲述了一段跨越半个多世纪的爱情故事:男女主人公在二十岁的时候没能结婚,因为他们太年轻了;经过各种人生曲折之后,到了八十岁,他们还是没能结婚,
因为他们太老了。
状态:未借出
名称:《围城》 作者:钱钟书
推荐语:是中国现代文学史上一部风格独特的讽刺小说。被誉为“新儒林外史”。
状态:未借出
1.查询所有书籍
2.添加书籍
3.借阅书籍
4.归还书籍
5.退出系统
请输入数字选择对应功能:3
请输入想要借阅书的书名:小王子
借阅成功,为期一个月,请按时还书哟!
1.查询所有书籍
2.添加书籍
3.借阅书籍
4.归还书籍
5.退出系统
请输入数字选择对应功能:4
请输入归还书籍的名称:shdfash
这本书暂时没用在系统中!
1.查询所有书籍
2.添加书籍
3.借阅书籍
4.归还书籍
5.退出系统
请输入数字选择对应功能:1
名称:《小王子》 作者:安托万·德·圣埃克絮佩里
推荐语:所述的飞行员坠机于撒哈拉沙漠的情节明显取材于圣埃克苏佩里的亲身经历。
状态:已借出
名称:《悲惨世界》 作者:维克多·雨果
推荐语:描绘19世纪初20年间几个法国人物的生活背景,涵盖拿破仑战争和1832年巴黎共和党人起义等政治现象叙述。
状态:未借出
名称:《霍乱时期的爱情》 作者:加西亚·马尔克斯
推荐语:讲述了一段跨越半个多世纪的爱情故事:男女主人公在二十岁的时候没能结婚,因为他们太年轻了;经过各种人生曲折之后,到了八十岁,他们还是没能结婚,
因为他们太老了。
状态:未借出
名称:《围城》 作者:钱钟书
推荐语:是中国现代文学史上一部风格独特的讽刺小说。被誉为“新儒林外史”。
状态:未借出
1.查询所有书籍
2.添加书籍
3.借阅书籍
4.归还书籍
5.退出系统
请输入数字选择对应功能:4
请输入归还书籍的名称:小王子
归还成功,欢迎下次借阅!
1.查询所有书籍
2.添加书籍
3.借阅书籍
4.归还书籍
5.退出系统
请输入数字选择对应功能:5
欢迎下次使用,谢谢,祝您阅读愉快!