您好,登錄后才能下訂單哦!
到了今日,你已經基本懂得 python 是什么了,裝逼要專業的,就class ,def 定義類,定義函數去封裝 一下要做的內容;,然后需要調用的時候,進行調用,這時候 代碼又條例,看起來方便易懂,也是在日后編碼的時候需要注意的,要習慣用類,函數。這樣你才更加又邏輯。
下面復制了一下人家的例子,里面沒有深奧的代碼。。。。只是前面的拼湊
所以還是要說一下:
1. 邏輯思路(明確目標,分解需求,一個個代碼實現);
2. 適當使用 class 函數;
3. 看人家的代碼后,一定要下場 敲,哪怕抄襲人家的代碼,從中了解,消化。寫出自己的風格。
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):
print('書籍信息如下:')
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)
# 調用check_book方法,將返回值賦值給變量res
if res == None:
# 如果返回的是空值,即這本書的書名不在系統里
print('沒有這本書噢,你恐怕輸錯了書名~')
else:
# 如果返回的是實例對象
if res.state == 0:
# 如果實例屬性state等于0,即這本書的借閱狀態為'未借出'
print('這本書沒有被借走,在等待有緣人的垂青呢!')
else:
# 如果實例屬性state等于1,即狀態為'已借出'
print('歸還成功!')
res.state = 0
# 歸還后書籍借閱狀態為0,重置為'未借出'
manager = BookManager()
manager.menu()
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。