Python基础项目_流动图书馆
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》 作者:%s 推荐语:%s\n状态:%s ' % (self.name, self.author, self.comment, status)
class BookManager:
books = []
def __init__(self):
book1 = Book('反脆弱','纳西姆•尼古拉斯•塔勒布','尼采有句名言:“杀不死我的,使我更强大。”就像人的骨头承受压力和紧张会变得更加强壮,谣言或暴乱在有人试图压制它们时会变本加厉一样,生命中的许多事物也会受益于压力、混乱、波动和不确定。')
book2 = Book('游戏改变世界','简•麦戈尼格尔','游戏击中了人类幸福的核心,提供了令人愉悦的奖励、刺激性的挑战和宏大的胜利,而这些都是现实世界十分匮乏的。我们可以借助游戏的力量,让生活变得像游戏一样精彩。')
book3 = Book('千面英雄','约瑟夫·坎贝尔','神话学大师坎贝尔的经典之作,追溯了全世界几乎所有神话系统中与英雄历险相关的故事,并从中揭示出相同的英雄原型。',1)
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('请输入归还书籍的名称:')
res = self.check_book(name)
if res != None:
if res.state == 1:
print('归还成功!有借有还再借不难')
else:
print('这本书已经归还过了哦')
res.state = 0
else:
print('这本书暂时没有收录在系统里呢')
manager = BookManager()
manager.menu()