开始挑战30天从零开始--------->python全栈工程师
Day1:图书管理系统
没有选用pycharm,选择了更轻量化的Sublime Text编辑器,撸了一个用json充当数据库的图书管理系统,简单的熟悉一下流程
1 # 图书馆开馆了,准备开发一个图书管理系统。 2 # 用json模拟数据库的方式完成下列业务: 3 4 # 1.用户登录;login() 5 # 2.显示图书列表;showAllBooks() 6 # 3.图书上架;addBook() 增加图书信息 7 # 4.图书下架;delBook() 删除增加图书信息 8 9 # 5.借书;lendBook()判断借出状态是不是可借,如果是,就更改为已借出 10 # 6.还书;returnBook() 11 # 7.退出。 12 13 # a. 使用json数据保存用户数据(包含用户名,密码,姓名); 14 # b. 使用json数据保存图书数据(包含编号,书名,作者,借出状态state); 15 # 可借---已借出 16 # c. 编写用户各个业务函数,在main函数中将所有函数串联起来; 17 18 19 # userList='[{"用户名":"Alex","密码":123,"姓名":"张三"}]' 20 # bookList='[{"编号":1001,"书名":"观察人类","作者":"陈浩星","借出状态":"已借出"}]' 21 # with open("uer.txt","w") as f1,open("book.txt","w") as f2: 22 # f1.write(userList) 23 # f2.write(bookList) 24 25 26 import json 27 import datetime 28 import time 29 30 31 def readUserData(): 32 with open("uer.txt","r") as f: 33 jsonData=f.read() 34 userData=json.loads(jsonData) 35 return userData 36 37 38 39 def writeUserData(userList): 40 jsonData=json.dumps(userList,ensure_ascii=False) 41 with open("user.txt","w") as f: 42 f.write(jsonData) 43 print("----------------用户数据写入成功!") 44 45 46 47 48 49 def readBookData(): 50 with open("book.txt","r") as f: 51 jsonData=f.read() 52 bookData=json.loads(jsonData) 53 return bookData 54 55 56 def writeBookData(bookList): 57 jsonData=json.dumps(bookList,ensure_ascii=False) 58 with open("book.txt","w") as f: 59 f.write(jsonData) 60 print("------------------图书信息修改成功!") 61 62 def login(): 63 i=0 64 j=0 65 msg="失败" 66 userList=readUserData() 67 68 while i<5: 69 i+=1 70 count=input("请输入用户名:") 71 for user in userList: 72 if count==user["用户名"]: 73 while j<3: 74 j+=1 75 pwd=input("请输入密码:") 76 if pwd==str(user["密码"]): 77 msg="成功" 78 print("===============登录成功================") 79 break 80 else: 81 print("---------------密码有误,请重新输入----------------") 82 if msg=="失败": 83 print("~~~~~~~~~~~~~密码输错超过3次!~~~~~~~~~~~~~~~~~") 84 else: 85 print("---------------------------用户名不存在,请重新输入!-------------------------") 86 if msg=="成功": 87 break 88 if msg=="失败": 89 print("账户登录异常,请联系管理员") 90 return(msg) 91 92 93 def showAllBooks(): 94 bookList=readBookData() 95 print("---------------------------------------------------------------------------") 96 for book in bookList: 97 print(book["编号"]," ",book["书名"]," ",book["作者"]," ",book["借出状态"]) 98 print("---------------------------------------------------------------------------") 99 100 101 102 103 def addBook(): 104 # num=int(input("请输入图编号:")) 105 fig=[0] 106 bookList=readBookData() 107 for book in bookList: 108 fig.append(book["编号"]) 109 newfig=max(fig)+1 110 name=input("请输入图书名:") 111 author=input("请输入作