python小課 第14關 查詢書籍

2021-09-25 23:38:03 字數 1433 閱讀 6362

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 = '已借出'

class bookmanager:

authors =

# 建立乙個存放作者名的列表

def __init__(self):

book1 = book('撒哈拉的故事','三毛','我每想你一次,天上便落下一粒沙,從此便有了撒哈拉。')

book2 = book('夢裡花落知多少','三毛','人人都曾擁有荷西,雖然他終會離去。')

book3 = book('月亮與六便士','毛姆','滿地都是六便士,他卻抬頭看見了月亮。')

self.books = [book1,book2,book3]

# 將三個例項放在列表books裡

# 將三個例項的作者名新增到列表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)

第0關python小課知識點

沒有影響,要習慣空格,這樣更加規範美觀,有辨識度,如 a 0 b input 輸入你的問題 正常使用單引號和雙引號都是可以的,三引號表達的是換行字串,會將引號內的所有內容列印出來,如 print 你好啊 天氣真好 python 是需要有執行的,你好啊,天氣真好並不是乙個執行操作 檢查一下終端是不是可...

python學習 第14課

1.將ga10.wms5.jd.com.txt中分別以upstream和location開頭的內容篩選出來,並分別生成相應的新文件 import codecs,re,os with codecs.open ga10.wms5.jd.com.txt r as f1 pattern1 re.compil...

python基礎教程共60課 第14課字串格式化

python基礎教程共60課 第14課字串格式化 python 第14課 字串格式化 我們在輸出字串的時候,如果想對輸出的內容進行一些整理,比如把幾段字元拼接起來,或者把一段字元插入到另一段字元中間,就需要用到字串的格式化輸出。先從簡單的開始,如果你想把兩段字元連起來輸出 str1 good str...