生活随笔
收集整理的這篇文章主要介紹了
Python面向对象实现栈和图书管理系统
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.實現棧
class Stack():def __init__(self):self.stack = []def push(self,value):self.stack.append(value)return Truedef pop(self):#先判斷棧是否為空if self.stack:item = self.stack.pop()return itemelse:return Falsedef top(self):if self.stack:return self.stack[-1]else:return Falsedef length(self):return len(self.stack)def view(self):return ','.join(self.stack)s = Stack()
s.push('1')
s.push('2')
item = s.pop()
print(s.view())
結果:
1
2.圖書管理系統
1.查詢圖書
2.增加圖書
3.借閱圖書
4.歸還圖書
5.退出系統
class Book(object):
def __init__(self, name, author, status, bookindex):self.name = nameself.author = authorself.status = statusself.bookindex = bookindexdef __str__(self):if self.status == 1:stats = '未借出'elif self.status == 0:stats = '已借出'else:stats = '狀態異常'return '書名: 《%s》 作者: %s 狀態: <%s> 位置: %s' \% (self.name, self.author, stats, self.bookindex)
class BookManage(object):books = []def start(self):self.books.append(Book('python', 'guido', 1, 'ISO9001'))self.books.append(Book('c', '譚浩強', 1, 'NFS8102'))self.books.append(Book('java', 'westos', 1, 'PKA7844'))def Menu(self):self.start()while True:print("""圖書管理系統1.查詢圖書2.增加圖書3.借閱圖書4.歸還圖書5.退出系統""")choice = input('請選擇:')if choice == '1':self.showAllBook()elif choice == '2':self.addBook()elif choice == '3':self.borrowBook()elif choice == '4':self.returnBook()elif choice == '5':print('歡迎下次使用...')exit()else:print('請輸入正確選擇')continuedef showAllBook(self):for book in self.books:print(book)def addBook(self):name = input('圖書名稱:')self.books.append(Book(name, input('作者:'), 1, input('存儲位置:')))print('圖書《%s》增加成功' % name)def checkBook(self, name):for book in self.books:if book.name == name:return bookelse:return Nonedef borrowBook(self):name = input('借閱圖書名稱: ')ret = self.checkBook(name)print(ret)if ret != None:if ret.status == 0:print('書籍《%s》已經借出' % name)else:ret.status = 0print('書籍《%s》借閱成功' % name)else:print('書籍《%s》不存在' % name)def returnBook(self):name = input('歸還圖書名稱:')ret = self.checkBook(name)if ret != None:if ret.status == 0:ret.status = 1print('書籍《%s》歸還成功' % name)print(ret)else:print('書籍《%s》未借出' % name)else:print('書籍《%s》不存在' % name)
manager = BookManage()
manager.Menu()
總結
以上是生活随笔為你收集整理的Python面向对象实现栈和图书管理系统的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。