user = [['aaa', '123456'], ['bbb', '123456789'],['图书管理员','55555']              ]#账号密码
i = 0#全局变量
f = 0
class Book(object):  # 定义一个书类def __init__(self, name, author, status, bookindex):#书名,作者,有没有借出,idself.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('吞噬星空', '番茄', 1, 'ISO9001'))self.books.append(Book('神印王座', '唐家三少', 1, 'NFS8102'))self.books.append(Book('深空彼岸', '辰东', 1, 'PKA7844'))# 0:借出 1:存在def Menu(self):#系统菜单self.start()while True:print("""图书管理系统1.查询图书2.借阅图书3.归还图书4.退出系统""")choice = input('请选择:')if choice == '1':self.showAllBook()  # 调用显示所有书籍的函数elif choice == '2':self.borrowBook()  # 调用借书的函数elif choice == '3':self.returnBook()  # 调用还书的函数elif choice == '4':print('欢迎下次使用...')exit()else:print('请输入正确选择')continuedef showAllBook(self):#显示所有书籍的函数for book in self.books:print(book)def borrowBook(self):#借书的函数name = input('借阅图书名称: ')ret = self.checkBook(name)print(ret)# 判断书是否存在,如果存在,判断书是否已借出,如果没有借出,借阅并将其状态改为0if 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)class BookManage2(BookManage):#图书管理员的图书管理系统,继承books = []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 addBook(self):#增加书籍name = input('图书名称:')self.books.append(Book(name, input('作者:'), 1, input('存储位置:')))print('图书《%s》增加成功' % name)#下面的是主函数
print('-'*10, '欢迎进入图书管理系统', '-'*10)
print('请在下方选择您要进行的操作')
while i < 4:xuan = input('登录账号请选择:1\n输入选择:')if xuan == "1":l = 0while True:cc = input('请选择您要进行的操作类型:\n登录普通账号:1\t登录管理员账号:2\t返回上一层:3\n:')if cc == "1":fu = input('请输入您的账号:')ru = input('请输入您的密码:')if [fu, ru] in user:print('欢迎{}进入图书管理系统'.format(fu))manager = BookManage()  # 类的实例化manager.Menu()else:print('账号密码错误,请重新输入您的账号密码')elif cc == "2":jia = input('请输入管理员的密码:')if ['图书管理员', jia] in user:print('欢迎图书管理员进入图书管理系统')print(10*'*', "管理员您好,清选择你要进行的操作", "*"*10)manager = BookManage2()  # 类的实例化manager.Menu()else:print('管理员密码错误,请重新输入管理员密码')elif cc == "3":breakelse:print("输入错误请按照要求输入")else:print("输入错误请重新输入")

python实现简单的图书管理系统相关推荐

  1. 2020-07-03:简单的图书管理系统(Python、SQL Server)

    简单的图书管理系统 一.课题设计的基本内容 二.设计工具及系统运行环境 三.数据库设计E-R模型 四.软件主要功能设计(附上成品截图) 五.代码 一.课题设计的基本内容 经过对图书管理系统的分析,因图 ...

  2. 用C#实现一个简单的图书管理系统(课程设计)

    用C#(sharp)实现一个简单的图书管理系统(课程设计) 学校的数据库课程结束了,要求完成一个课程设计,于是我用C#实现了一个简单的图书管理系统(ADO.NET) 源码放在了github上,仅供参考 ...

  3. Java—简单的图书管理系统

    简单的图书管理系统 通过数据源和DAO对象访问数据库.其中JavaBeans实现模型,访问数据库,Servlet实现控制器,JSP页面实现视图. • 模型包括2个JavaBean:BookBean用于 ...

  4. 简单编写图书管理系统

    首先我们先梳理一下图书管理系统的功能 图书管理系统功能梳理 一.系统简介:能够对图书进行增删改查 二.步骤分析:1.写菜单 - 图书系统的所有功能2.实现每一个功能增加学生:a.将图书的信息加到列表里 ...

  5. PHP实现一个简单的图书管理系统

    刚收到了一个消息,老师竟然布置了一个课设 ,要求做一个后台管理系统.做归做,但是!本着为老师节省时间的心态,我花了大量的时间,消耗了无数脑细胞扫描了一遍老师给的课题,最终掐指一算选了一个最简单的--& ...

  6. 用js实现简单的图书管理系统

    利用数组实现简单的图书管理系统 用户输入1是添加图书 用户输入2是查找图书在第几层 用户输入3是显示所有的图书 输入其他的就停止服务 var arr = [];var select = prompt( ...

  7. php+mysql实现简单的图书管理系统(简单的数据库操作)

    php+mysql实现简单的图书管理系统 ps:前端页面设计得有点丑,将就着用,哈哈哈.不具备用户和管理员功能,如要实现只需将首页的功能根据数据库中账号信息选择性使用就可以了.数据库关系设计什么的完全 ...

  8. JDBC+MYSQL图书馆,简单迷你图书管理系统练习小项目,实现查询,新增,修改,删除,退出功能。

    JDBC+MYSQL图书馆,简单迷你图书管理系统练习小项目,实现查询,新增,修改,删除,退出功能. 代码有一丢丢小多,最后有图解,讲的不对的地方希望各位大佬指出,对您有帮助的话请点个小小的赞. 题目与 ...

  9. Python编写简单的学生管理系统

    Python编写简单的学生管理系统 一共两个文件,其中一个定义函数,另一个是主程序,调用函数,运行程序 CMS.py ''' 编写"学生信息管理系统",要求如下: 必须使用自定义函 ...

最新文章

  1. 2021-2027年中国手机壳行业现状研究及发展趋势分析报告
  2. 汤森路透为何一定要卖掉SCI?
  3. 力扣--盛水最多的容器
  4. java---编写一个方法,返回一个int型的二维数组,数组中的元素通过解析字符串参数获得。
  5. Java指派问题_指派问题的匈牙利算法
  6. android mysql sqlite_Android SQLite数据库基本操作方法
  7. 专访涯海:阿里云中间件是如何支撑双11的?
  8. 集成LNMP/LAMP/FAMP的LuNamp2.1正式版开源发布
  9. bootstrap4 后台管理模板_开源的后台管理模板
  10. css3 border
  11. IDEA配置JUnit进行单元测试
  12. Dawn 阿里开源前端开发构建工具
  13. 概要设计的作用_【教育年会与颁奖典礼】第六届中国人居环境设计学年奖
  14. 「RPA技术」RPA工具的比较,谁能胜出?
  15. 乔姆斯基生成语法_乔姆斯基(乔姆斯基转换生成语法理论)
  16. 银行服务器linux系统,银行操作系统
  17. 360随身wifi无线网卡linux,360随身wifi2代驱动,当usb无线网卡使用
  18. 计算机图表制作教程,PPT怎么制作动态图表 PPT动态图表制作教程-电脑教程
  19. 用来处理gwdac网站爬取的实验数据的python代码
  20. HyperLynx(十)BoardSim和PCB板级仿真分析(一)

热门文章

  1. 腾讯视频下载的qlv格式转换为MP4格式
  2. ubuntu 16换源方法
  3. unity3d场景怎么添加天空盒子?
  4. 微信小程序消息推送,实现未完成计划的在微信内的定时提醒功能
  5. jvm-8-java
  6. vue3笔记十(vue3 tsx使用)
  7. MatLab 画图方法
  8. 单键带定时雾化补水仪-DLT8P65SA
  9. UE4碰撞射线检测2
  10. python求主析取范式_求公式q→(r∧p)的析取范式。