python面向对象法实现图书管理系统
程序员文章站
2023-11-16 13:09:10
本文实例为大家分享了python实现图书管理系统的具体代码,供大家参考,具体内容如下
需求:
图书管理系统
1.查询图书
2.增加图书
3.借阅图书
4...
本文实例为大家分享了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()
验证如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
下一篇: linux解决Tomcat内存溢出的问题