首先我们先梳理一下图书管理系统的功能

图书管理系统功能梳理
一、系统简介:能够对图书进行增删改查
二、步骤分析:1、写菜单 - 图书系统的所有功能2、实现每一个功能增加学生:a、将图书的信息加到列表里(列表的每一项是一个字典)--字典的添加删除学生:修改学生:查找学生:显示所有学生信息:退出系统:
三、结构设计
1、主函数--main()
2、增加学生
def add()
3、查询功能
def select():pass
4、修改功能
def update():pass
5、删除功能
def del_stu():pass增加图书信息操作
1、定义一个全局变量的空列表存储学生信息
2、验证数据,验证所加图书是否已经存在
3、组织数据,姓名、性别、年龄等信息存到字典里
4、将字典添加到列表里-输出结果删除图书信息操作
1、提供图书信息,方便用户进行删除
2、与用户交互,来确定要删除的序号
3、再次确认是否要删除
4、提示删除成功查询图书信息操作
1、与用户交互,输入查找图书姓名
2、循环遍历列表获取图书信息
3、取出图书信息修改图书信息
1、展示图书信息
2、根据序号程序入口常规写法
# if __name__ == "__name__"

接下来我们编写代码

# 图书管理系统
# 1.查询图书 --select
# 2.增加图书----add 增加图书包含(书名 作者 价格 数量 等)
# 3.借阅图书--borrow如果数量大于0就能借阅否则不能
# 4.修改图书 update
# 5.查找图书 - find
# 6.退出系统
# 定义一个全局变量空列表来储存图书信息
list_librarys = []
# 图书系统菜单
def menu():print("1.查询图书")print("2.增加图书")print("3.借阅图书")print("4.修改图书")print("5.查找图书")print("6.退出系统")
# 查询图书
def select():# 循环遍历全局变量list_librarysfor i,j in enumerate(list_librarys):# 输出按序号输出图书信息print("序号",i,"书名",j["name"],"作者",j["author"],"价格",j["price"],"数量",j["number"])
# 定义查询信息
def find():find_name = input("请输入查找的图书名:")# 循环遍历图书列表for i in list_librarys:if i["name"] == find_name:print("书名",i["name"],"作者",i["author"],"价格",i["price"],"数量",i["number"])return# 添加图书函数
def add():new_name = input("请输入书名:")new_author = input("请输入作者:")new_price = input("请输入价格:")new_number = input("请输入数量:")
# 循环遍历图书列表for i in list_librarys:if i["name"] == new_name and i["author"] == new_author and i["price"] == new_price and i["number"] == new_number:print("该书籍已存在")return  #结束函数# 字典的添加dict1 = {}dict1["name"] = new_namedict1["author"] = new_authordict1["price"] = new_pricedict1["number"] = new_number# 将字典添加到列表里list_librarys.append(dict1)print("添加成功")print(list_librarys)# 定义借阅图书函数
def borrow():# 如果图书列表为空if len(list_librarys) == 0:# 输出无法借阅print("暂未收录图书信息,无法借阅")else:# 按序号借阅,设变量=图书序号num2 = int(input("请输入您想借阅的图书序号:"))# 如果所借阅书籍数量小于图书列表if num2 < len(list_librarys):# 定义变量i为图书序列i = list_librarys[num2]print(f"您所借阅的书籍是:序号{num2},书名{i['name']},作者{i['author']},价格{i['price']},数量{i['number']}")num3 = int(input("请输入您要借阅的数量:"))if num3 > int(i["number"]):print("您要借阅的数量不足")else:i["number"] = int(i["number"]) - num3# pop根据下标删除并且返回被删除的数据# i = list_librarys.pop(num2)else:print("暂无收录您想要的书籍")# 定义修改图书函数
def update():select()num1 = int(input("请输入要修改的图书序号:"))if num1 >= 0 and num1 < len(list_librarys):list_librarys[num1]["name"] = input("请输入新的书名:")list_librarys[num1]["author"] = input("请输入新的作者:")list_librarys[num1]["price"] = input("请输入新的价格:")list_librarys[num1]["number"] = input("请输入新的数量:")print("修改成功")print(list_librarys)else:print("参数错误")# 退出系统
def exit_lib():exit()# 主函数
def main():# 死循环图书系统while True:menu()# 定义请输入,实现点菜式功能num = input("请输入您想操作的功能:")if num == "1":select()elif num == "2":add()elif num == "3":borrow()elif num == "4":update()elif num == "5":find()elif num == "6":exit()
# 程序入口常规写法
if __name__ == "__main__":main()

这样我们一个简单的图书管理系统就写完了,快叫上你的小伙伴一起学习吧!

简单编写图书管理系统相关推荐

  1. JavaWeb笔记(五)后端(Thymeleaf)(Tomcat类加载机制)(编写图书管理系统)

    使用Thymeleaf模板引擎 虽然JSP为我们带来了便捷,但是其缺点也是显而易见的,那么有没有一种既能实现模板,又能兼顾前后端分离的模板引擎呢? Thymeleaf(百里香叶)是一个适用于Web和独 ...

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

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

  3. c语言图书管理系统用什么软件,编写c语言的软件 纯C语言编写图书管理系统.doc...

    编写c语言的软件 纯C语言编写图书管理系统 编写c语言的软件 纯C语言编写图书管理系统WORD文档bbszp 导读:就爱阅读网友为您分享以下"纯C语言编写图书管理系统WORD文档bbszp& ...

  4. c语言之bbs管理系统,编写c语言的软件 纯C语言编写图书管理系统WORD文档bbszp.doc...

    编写c语言的软件 纯C语言编写图书管理系统WORD文档bbszp 编写c语言的软件 纯C语言编写图书管理系统WORD文档bbszp 导读:就爱阅读网友为您分享以下"纯C语言编写图书管理系统W ...

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 企业数据中心和互联网数据中心有何不同?
  2. boost::fusion::vector用法的测试程序
  3. 多元线性回归算法python实现_手写算法-Python代码推广多元线性回归
  4. shell脚本_Shell脚本
  5. Redis基础-下载安装配置
  6. 软件设计中架构和框架的区别
  7. Cooliris – 优雅的照片浏览工具[iOS/Android]
  8. Linux下5种动态库运行时搜索路径的方法
  9. Cisco2811路由器的首次接触
  10. lingoes/灵格斯词霸/灵格斯翻译家开始弹窗去除方法
  11. PHP - 经典面试题大全,看这一篇就够了
  12. js实现公历(阳历)和农历(阴历)的换算
  13. 《蔡康永的说话之道》书摘
  14. 对于 ACM程序设计选修课的感想
  15. Keil中文显示设置
  16. hg8010h的调试。
  17. 32位单总线计算机系统中,计算机系统结构答案.doc
  18. matlab中的可变电阻怎么接,可调电阻器的接线方法
  19. 全国计算机等级考试.pdf,全国计算机等级考试试题49662.pdf
  20. Python:实现gamma recursive伽玛递归算法(附完整源码)

热门文章

  1. 语音识别引擎_linux 语音识别引擎_中文实时语音识别引擎 - 云+社区 - 腾讯云
  2. RGB 无限立方体(高级版)
  3. Ubuntu 下安装新世纪五笔输入法
  4. python启动netron
  5. [引擎搭建记录] 时间性抗锯齿(TAA)
  6. [SpringBoot](一)基本概念
  7. oracle 抽样_oracle优化手段--统计信息导出和抽样提取数据
  8. FANUC机器人Config系统配置中各项参数的功能描述及设定
  9. opencv里的THRESH_TRIANGLE的原理
  10. UE4中动画优化与压缩