python简单图书管理系统
1,创建图书类,包括它的打印函数__str__
2,建立图书管理类,用一个while True循环,并根据用户输入的不用选项来执行不同的函数。
3,初始化图书管理类,并调用它的Menu方法。
代码如下:
# 图书管理系统 class Book(): stu = None 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: self.stu = '未借出' elif self.status == 0: self.stu = '已借出' else: self.stu = '状态异常' return '书名:《{}》,作者:{},状态:<{}>,位置:{}'.format(self.name, self.author, self.stu, self.bookindex) class BookManage(): books = [] def start(self): self.books.append(Book('斗罗大陆', '唐家三少', 1, 'ISO9001')) self.books.append(Book('大主宰', '天蚕土豆', 1, 'NFS8102')) self.books.append(Book('完美世界', '辰东', 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('欢迎下次使用...') break else: print('请输入正确选择') def showAllBook(self): for book in self.books: print(book) def addBook(self): name = input('图书名字:') author = input('作者:') bookindex = input('位置:') self.books.append(Book(name, author, 1, bookindex)) print('图书《{}》增加成功'.format(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) if ret: if ret.status == 0: print(f'书籍《{name}》已借出') else: ret.status = 0 print(f'书籍《{name}》借阅成功') else: print(f'书籍《{name}》不存在') def returnBook(self): name = input('归还图书的名字:') ret = self.checkBook(name) if ret: if ret.status == 0: ret.status = 1 print(f'书籍《{name}》归还成功') else: print(f'书籍《{name}》未借出') else: print(f'书籍《{name}》不存在') manager = BookManage() manager.Menu()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」