python面向对象法实现图书管理系统
本文实例为大家分享了python实现图书管理系统的具体代码,供大家参考,具体内容如下
需求:
图书管理系统
1.查询图书
2.增加图书
3.借阅图书
4.归还图书
5.退出系统
书:书名,作者,状态,位置
管理系统:
实现如下:
class Book(object): def __init__(self, name, author, status, bookindex): self.name = name self.author = author self.status = status self.bookindex = bookindex def __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')) # 0:借出 1:存在 # python 1 # c 1 # java 1 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('请输入正确选择') continue def 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 book else: return None def borrowBook(self): name = input('借阅图书名称: ') ret = self.checkBook(name) print(ret) if ret != None: if ret.status == 0: print('书籍《%s》已经借出' % name) else: ret.status = 0 print('书籍《%s》借阅成功' % name) else: print('书籍《%s》不存在' % name) def returnBook(self): name = input('归还图书名称:') ret = self.checkBook(name) if ret != None: if ret.status == 0: ret.status = 1 print('书籍《%s》归还成功' % name) print(ret) else: print('书籍《%s》未借出' % name) else: print('书籍《%s》不存在' % name) manager = BookManage() manager.Menu()
验证如下:
相关推荐
gaozhennan 2020-08-16
lcqin 2020-08-11
czsay 2020-01-12
miyunkeji 2017-01-19
paopao00 2019-05-16
rionchen 2018-07-14
致远 2019-04-29
firefaith 2019-04-07
小代的学习笔记 2010-07-08
SZClalala 2010-07-06
zaifendou 2010-06-30
IronSky 2010-06-29
wenrouhaiyang 2010-06-29
Returnhead 2010-06-18
SZClalala 2010-06-12
dansan 2010-06-12
SZClalala 2010-06-09
matthewmaureen 2010-06-09