模拟图书管理系统的完整代码
生活随笔
收集整理的這篇文章主要介紹了
模拟图书管理系统的完整代码
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
模擬圖書(shū)管理系統(tǒng)的完整代碼:
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("請(qǐng)輸入您的用戶(hù)名:")upwd=input("請(qǐng)輸入您的密碼:")msg="失敗"for user in userlist:if uname==user["用戶(hù)名"] and upwd==user["密碼"]:print("恭喜",user["姓名"],"登錄成功")msg="成功"if msg=="失敗":print("登錄失敗,請(qǐng)從新登錄!")return msg def addUser():userlist=readUser()accname=input("請(qǐng)輸入用戶(hù)名:")xupwd=input("請(qǐng)輸入您的密碼:")xuname=input("請(qǐng)輸入用戶(hù)姓名:")newlist={"用戶(hù)名": 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("----------------數(shù)據(jù)寫(xiě)入成功!")def ShowUserlist():userlist=readUser()print("*******************************************")print("用戶(hù)名\t 密碼 \t 姓名")for user in userlist:print(user["用戶(hù)名"],"\t",user["密碼"],"\t",user["姓名"])print("----------------------------------------------")def Showbooklist():Booklist=readBook()print("**************************圖書(shū)目錄**************************")for data in Booklist:print(data["編號(hào)"],"\t",data["書(shū)名"],"\t\t\t",data["作者"],"\t\t\t",data["借出狀態(tài)"])print("---------------------------------------------------")def addBook():Booklist=readBook()numlist=[]for book in Booklist:numlist.append(book["編號(hào)"])newnum=max(numlist)+1Bname=input("請(qǐng)輸入書(shū)名:")writer=input("請(qǐng)輸入圖書(shū)作者:")condi="可借"newBooklist={"編號(hào)": newnum, "書(shū)名": Bname, "作者": writer,"借出狀態(tài)":condi}Booklist.append(newBooklist)writeBook(Booklist) def delbook():Booklist=readBook()Bnum=int(input("請(qǐng)輸入要?jiǎng)h除的圖書(shū)編號(hào):"))Bname=input("請(qǐng)輸入要?jiǎng)h除的圖書(shū)名稱(chēng):")for book in Booklist:if Bnum==book["編號(hào)"] or Bname==book["書(shū)名"]:Booklist.remove(book)print("圖書(shū)已",book["書(shū)名"],"經(jīng)刪除")writeBook(Booklist) def lendbook():Booklist=readBook()Bnum=int(input("請(qǐng)輸入要借閱的圖書(shū)編號(hào):"))Bname=input("請(qǐng)輸入要借閱的圖書(shū)名稱(chēng):")for book in Booklist:if Bnum==book["編號(hào)"] or Bname==book["書(shū)名"]:if book["借出狀態(tài)"]=="可借":print("此書(shū)在架,可借閱")a=int(input("借閱請(qǐng)安1,退出請(qǐng)按0:"))if a==1:book["借出狀態(tài)"]="已借出" else:breakelse:print("此書(shū)已被借出,等歸還后再借")writeBook(Booklist) def returnbook():Booklist=readBook()Bnum=int(input("請(qǐng)輸入要還的圖書(shū)編號(hào):"))Bname=input("請(qǐng)輸入要還的圖書(shū)名稱(chēng):")for book in Booklist:if Bnum==book["編號(hào)"] or Bname==book["書(shū)名"]:if book["借出狀態(tài)"]=="已借出":book["借出狀態(tài)"]="可借"print(book["書(shū)名"],"已還")else:print(book["書(shū)名"],"書(shū)已在架,不用歸還")writeBook(Booklist)while 1==1:print("*************************圖書(shū)管理系統(tǒng)2.0******************************")msg=login()if msg=="成功":print("1.顯示所有的圖書(shū);\n2.圖書(shū)上架;\n3.圖書(shū)下架;\n4.借閱;\n5.歸還;\n6.退出")print("---------------------------------------------------------------------")while 2==2:choice=int(input("請(qǐng)輸入業(yè)務(wù)編號(hào)(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("沒(méi)有此業(yè)務(wù),請(qǐng)重新選擇")continue總結(jié)
以上是生活随笔為你收集整理的模拟图书管理系统的完整代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如何显示服务器上的图片,显示服务器上的图
- 下一篇: 总有些代码会让你大呼“我勒个去,怎么会这