模拟图书管理系统的完整代码:

def readBook():with open(r"books.txt","r") as f:jsondata=f.read()booklist=json.loads(jsondata)return booklist
def writeBook(lista):jsondata=json.dumps(lista,ensure_ascii=False)with open(r"books.txt","w") as f:f.write(jsondata)def readUser():with open(r"name_list.txt","r") as f:jsondata=f.read()userlist=json.loads(jsondata)return userlist
def login():userlist=readUser()uname=input("请输入您的用户名:")upwd=input("请输入您的密码:")msg="失败"for user in userlist:if uname==user["用户名"] and upwd==user["密码"]:print("恭喜",user["姓名"],"登录成功")msg="成功"if msg=="失败":print("登录失败,请从新登录!")return msg
def addUser():userlist=readUser()accname=input("请输入用户名:")xupwd=input("请输入您的密码:")xuname=input("请输入用户姓名:")newlist={"用户名": accname, "密码": xupwd, "姓名": xuname}userlist.append(newlist)writeData(userlist)return userlistdef writeData(listb):jsondata=json.dumps(listb,ensure_ascii=False)with open(r"name_list.txt","w") as f:f.write(jsondata)print("----------------数据写入成功!")def ShowUserlist():userlist=readUser()print("*******************************************")print("用户名\t 密码 \t 姓名")for user in userlist:print(user["用户名"],"\t",user["密码"],"\t",user["姓名"])print("----------------------------------------------")def Showbooklist():Booklist=readBook()print("**************************图书目录**************************")for data in Booklist:print(data["编号"],"\t",data["书名"],"\t\t\t",data["作者"],"\t\t\t",data["借出状态"])print("---------------------------------------------------")def addBook():Booklist=readBook()numlist=[]for book in Booklist:numlist.append(book["编号"])newnum=max(numlist)+1Bname=input("请输入书名:")writer=input("请输入图书作者:")condi="可借"newBooklist={"编号": newnum, "书名": Bname, "作者": writer,"借出状态":condi}Booklist.append(newBooklist)writeBook(Booklist)
def delbook():Booklist=readBook()Bnum=int(input("请输入要删除的图书编号:"))Bname=input("请输入要删除的图书名称:")for book in Booklist:if Bnum==book["编号"] or Bname==book["书名"]:Booklist.remove(book)print("图书已",book["书名"],"经删除")writeBook(Booklist)
def lendbook():Booklist=readBook()Bnum=int(input("请输入要借阅的图书编号:"))Bname=input("请输入要借阅的图书名称:")for book in Booklist:if Bnum==book["编号"] or Bname==book["书名"]:if book["借出状态"]=="可借":print("此书在架,可借阅")a=int(input("借阅请安1,退出请按0:"))if a==1:book["借出状态"]="已借出"   else:breakelse:print("此书已被借出,等归还后再借")writeBook(Booklist)
def returnbook():Booklist=readBook()Bnum=int(input("请输入要还的图书编号:"))Bname=input("请输入要还的图书名称:")for book in Booklist:if Bnum==book["编号"] or Bname==book["书名"]:if book["借出状态"]=="已借出":book["借出状态"]="可借"print(book["书名"],"已还")else:print(book["书名"],"书已在架,不用归还")writeBook(Booklist)while 1==1:print("*************************图书管理系统2.0******************************")msg=login()if msg=="成功":print("1.显示所有的图书;\n2.图书上架;\n3.图书下架;\n4.借阅;\n5.归还;\n6.退出")print("---------------------------------------------------------------------")while 2==2:choice=int(input("请输入业务编号(1-6):"))if choice==1:Showbooklist()elif choice==2:addBook()elif choice==3:delbook()elif choice==4:lendbook()elif choice==5:returnbook()elif choice==6:breakelse:print("没有此业务,请重新选择")continue

模拟图书管理系统的完整代码相关推荐

  1. Java经典案列——模拟双色球(含完整代码)

    今天给大家分享一个Java经典案例--模拟双色球,通过这个案例对之前所学习的循环语句.数组.方法做一个简单的总结,下面先来看题目: 题目 在双色球系统中,其投注号码由六个红球和一个蓝球组成,其中红球从 ...

  2. python Django 餐馆点菜管理系统 毕业设计 完整代码

    问题描述: 随着网络的迅速发展,越来越多的人开始接受甚至时依赖了网络营业的这种交易形式,传统的点菜模式不仅浪费时间,效率低下,而且特别耗费成本与人力,因此不少商家开始使用网上点菜系统.网上点菜系统是一 ...

  3. 机票管理系统C++完整代码 订退票、界面、文件存取、查找、排序、增加航班 票务管理 航班管理

    大一的时课设,这是简单的1.0版本,可供参考框架和思路.那时候喜欢用拼音做变量名函数名,介意的望海涵. 还不会上传资源,完整代码在最后. 功能全面升级的完整版我过几天会整理上来. 实现功能: 具体实现 ...

  4. java实现简单的图书管理系统(以及代码中用了特殊注释TODO,XXX,FIXME),compare接口

    参考来自 java实现简单的图书管理系统_Jewel's blog-CSDN博客_java图书管理系统一.项目分布Book类: 定义了书的一些属性(书名,作者,价格,分类,状态)并且写了属性的get. ...

  5. python 图书馆管理程序下载_图书管理系统 免费开源代码 开发,分享 - CodeForge.cn...

    图书管理系统0.00 B01-08-04|10:06 test0.00 B01-08-04|10:06 _vti_cnf0.00 B01-08-04|10:06 news0.00 B01-08-04| ...

  6. C语言通讯录管理系统(含完整代码)

    课题3:通讯录管理系统 设计内容: 设计一个通讯录管理系统,以实现以下功能:信息添加.查询.修改.删除.排序等功能. 设计要求: 1) 每条信息至包含 :姓名.电话.工作单位等信息 2) 作为一个完整 ...

  7. c语言车票管理系统(附完整代码和文档)

    作业要求 1.能够录入班次信息,可不定时增加数据. 2.浏览信息,显示所有班次状态(如当前时间大于发车时间,显示"此班已发出"). 3.查询路线(1.班次号查询.2.终点站查询). ...

  8. Java实现学生管理系统(完整代码)

    案例需求 完成一个综合案例:学生管理系统!该系统主要功能如下: 添加学生:通过键盘录入学生信息,添加到集合中 删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除 修改学生:通过键盘录入要 ...

  9. C语言--学生管理系统--(完整代码)

    本系统分成了三个文件,main.c student.c student.h 功能: 实现对班级成员的增加.删除.修改.遍历.根据成绩排序. 增加 会检查,现在班级已有的人数,班级是否已满(没有学号重复 ...

最新文章

  1. 谁说C语言和C+太难?没前途?谬论!
  2. React Native —— App
  3. Xamarin iOS开发实战第1章使用C#编写第一个iOS应用程序
  4. 前端 python java三者哪个比较容易就业_前端和后端(Java)开发哪个难?,哪个学习容易一点?...
  5. Struts 2(一):初识Struts
  6. mysql5.0修改字符集,查看mysql字符集及修改表结构
  7. 大数运算(1)——大数储存
  8. 炒房客共识:深圳楼市要撑不住了
  9. 起止时间控制,显示格式控制
  10. Zabbix分布式监控(zabbix-proxy)的配置关键点
  11. docker之es+es-head+kibana+ik分词器安装
  12. Hibernate占位符?和:及JPA
  13. android 删除特定字符串,android-从改造响应中删除不需要的字符串
  14. ExtJs视频教程1(陈治文)
  15. 2 HTML常用标签标签嵌套和并列关系
  16. Ural 1671. Anansi's Cobweb(并查集)
  17. 常见的HTML标签,让你的网页更加精彩
  18. netfilter_queue
  19. VB:编一个子过程DeleStr(s1,s2),将字符串s1中出现的s2子字符串删去,结果存放在s1中
  20. preg_replace() 函数

热门文章

  1. [arm 驱动]Linux输入子系统分析
  2. 都江堰--我永远支持你
  3. 数论初步——同余与模算术
  4. 一文贯通python文件读取
  5. Win10光驱不见了
  6. 解决Ubuntu18.04下Qt中无法输入中文的问题
  7. jsp简单练习-简单的下拉表单
  8. java-判断相同和对象比较大小
  9. CodeForces 448
  10. AUC、Precision、Recall、F-measure、Accuracy