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:
authors = []
# 創建一個存放作者名的列表
def __init__(self):
book1 = Book('撒哈拉的故事','三毛','我每想你一次,天上便落下一粒沙,從此便有了撒哈拉。')
book2 = Book('夢里花落知多少','三毛','人人都曾擁有荷西,雖然他終會離去。')
book3 = Book('月亮與六便士','毛姆','滿地都是六便士,他卻抬頭看見了月亮。')
self.books = [book1,book2,book3]
# 將三個實例放在列表books里
self.authors.append(book1.author)
self.authors.append(book2.author)
self.authors.append(book3.author)
# 將三個實例的作者名添加到列表author里
def menu(self):
while True:
print('1.查詢書籍')
choice = int(input('請輸入數字選擇對應的功能:'))
if choice == 1:
self.show_author_book()
# 調用方法
else:
print('感謝使用!')
break
def show_author_book(self):
author = input('你想找誰的書呢?')
if author not in self.authors:
print('很可惜,我們暫時沒有收錄這位作者的作品')
else:
print(author+'的作品有:')
for book in self.books:
if book.author==author:
print(book)
manager = BookManager()
manager.menu()
‘’’
一個思路:
- 先用條件判斷語句判斷該作者在不在列表authors里,如果不在就打印’很可惜,我們暫時沒有收錄這位作者的作品’
-
如果在,就遍歷列表books的每個實例,當實例屬性author與輸入的作者名相等,就打印該實例
重點是for book in self.books: if book.author==author: print(book)
‘’’
bash:root$ python ~/practice/apps-1-id-5cd9766119bbcf00015547c2/root/main3.py
1.查詢書籍
請輸入數字選擇對應的功能:1
請輸入想查詢作家的名稱:三毛
三毛的作品有:
名稱:《撒哈拉的故事》 作者:三毛 推薦語:我每想你一次,天上便落下一粒沙,從此便有了撒哈拉。
狀態:未借出
名稱:《夢里花落知多少》 作者:三毛 推薦語:人人都曾擁有荷西,雖然他終會離去。
狀態:未借出
1.查詢書籍
請輸入數字選擇對應的功能:1
請輸入想查詢作家的名稱:毛姆
毛姆的作品有:
名稱:《月亮與六便士》 作者:毛姆 推薦語:滿地都是六便士,他卻抬頭看見了月亮。
狀態:未借出
1.查詢書籍
請輸入數字選擇對應的功能:0
感謝使用!
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
