欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python模擬實(shí)現(xiàn)圖書(shū)管理系統(tǒng)

 更新時(shí)間:2022年03月10日 13:37:36   作者:江海闊?_Great  
這篇文章主要為大家詳細(xì)介紹了python模擬實(shí)現(xiàn)圖書(shū)管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了python實(shí)現(xiàn)圖書(shū)管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

軟件python

事先用代碼寫(xiě)一個(gè)存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)庫(kù),也就是,.txt文件
這是我模擬的一個(gè)數(shù)據(jù)

d1='[{"用戶(hù)名": "admin", "密碼": "123", "姓名": "張三"},{"用戶(hù)名": "aaa", "密碼": "123", "姓名": "李四"}]'
with open(r"name_list.txt","w") as f:
?? ??? ?f.write(d1)
d2='[{"編號(hào)":1001, "書(shū)名": "紅樓夢(mèng)", "作者": "曹雪芹", "借出狀態(tài)": "可借"},\
{"編號(hào)":1002, "書(shū)名": "java教程","作者": "齊一天", "借出狀態(tài)": "可借"},\
{"編號(hào)":1003, "書(shū)名": "圣經(jīng)","作者": "耶穌", "借出狀態(tài)": "已借出"},\
{"編號(hào)":1004, "書(shū)名": "李白詩(shī)集","作者": "李白", "借出狀態(tài)": "可借"}\
]'
with open(r"books.txt","w") as f:
?? ??? ?f.write(d2)

數(shù)據(jù)準(zhǔn)備好開(kāi)始:

一步是讀取數(shù)據(jù)庫(kù)中的數(shù)據(jù),將其轉(zhuǎn)換為字符串,因?yàn)榻酉聛?lái)的數(shù)據(jù)都是字符串的處理

def readUser():
?? ?with open(r"name_list.txt","r") as f:
?? ??? ?jsondata=f.read()
?? ?userlist=json.loads(jsondata)
?? ?return userlist

這一步是將外部數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù)

def 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ě)入成功!")

1.用戶(hù)登錄:

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

2.顯示圖書(shū)列表:

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("---------------------------------------------------")

3.添加圖書(shū)

def addBook():
?? ?Booklist=readBook()
?? ?numlist=[]
?? ?for book in Booklist:
?? ??? ?numlist.append(book["編號(hào)"])
?? ?newnum=max(numlist)+1
?? ?Bname=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)

4.刪除圖書(shū)

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)

5.借閱圖書(shū)

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:
?? ??? ??? ??? ??? ?break
?? ??? ??? ?else:
?? ??? ??? ??? ?print("此書(shū)已被借出,等歸還后再借")
?? ?writeBook(Booklist)

6.歸還圖書(shū)

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)

最后是調(diào)用所有模塊的總程序:

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:
?? ??? ??? ?break
?? ??? ?else:
?? ??? ??? ?print("沒(méi)有此業(yè)務(wù),請(qǐng)重新選擇")
?? ??? ??? ?continue

這位是執(zhí)行后的效果圖。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python+selenium+chromedriver實(shí)現(xiàn)爬蟲(chóng)示例代碼

    python+selenium+chromedriver實(shí)現(xiàn)爬蟲(chóng)示例代碼

    這篇文章主要介紹了python+selenium+chromedriver實(shí)現(xiàn)爬蟲(chóng)示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • python geemap的安裝步驟及環(huán)境配置

    python geemap的安裝步驟及環(huán)境配置

    geemap是基于GEE由吳秋生老師二次開(kāi)發(fā)的一個(gè)包,geemap主要使用python來(lái)進(jìn)行實(shí)現(xiàn)相關(guān)功能,這篇文章主要介紹了geemap的詳細(xì)安裝步驟及環(huán)境配置,需要的朋友可以參考下
    2022-08-08
  • wxPython的安裝圖文教程(Windows)

    wxPython的安裝圖文教程(Windows)

    下面小編就為大家分享一篇wxPython的安裝圖文教程(Windows),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • python實(shí)現(xiàn)pptx批量向PPT中插入圖片

    python實(shí)現(xiàn)pptx批量向PPT中插入圖片

    大家好,本篇文章主要講的是python實(shí)現(xiàn)pptx批量向PPT中插入圖片,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下
    2022-02-02
  • 經(jīng)驗(yàn)豐富程序員才知道的8種高級(jí)Python技巧

    經(jīng)驗(yàn)豐富程序員才知道的8種高級(jí)Python技巧

    這篇文章主要介紹了經(jīng)驗(yàn)豐富程序員才知道的8種高級(jí)Python技巧,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • pycharm下打開(kāi)、執(zhí)行并調(diào)試scrapy爬蟲(chóng)程序的方法

    pycharm下打開(kāi)、執(zhí)行并調(diào)試scrapy爬蟲(chóng)程序的方法

    本篇文章主要介紹了pycharm下打開(kāi)、執(zhí)行并調(diào)試scrapy爬蟲(chóng)程序的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • Python批量將圖片灰度化的實(shí)現(xiàn)代碼

    Python批量將圖片灰度化的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Python批量將圖片灰度化的實(shí)現(xiàn)代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • windows下python安裝pip圖文教程

    windows下python安裝pip圖文教程

    這篇文章主要為大家詳細(xì)介紹了windows下python安裝pip圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • python中apply函數(shù)詳情

    python中apply函數(shù)詳情

    這篇文章主要介紹了python中apply函數(shù)詳情,該函數(shù)最有用的是第一個(gè)參數(shù),這個(gè)參數(shù)是函數(shù),相當(dāng)于C/C++的函數(shù)指針,更多詳細(xì)內(nèi)容,需要的小伙伴可以參考下面文章內(nèi)容
    2022-01-01
  • python將時(shí)分秒轉(zhuǎn)換成秒的實(shí)例

    python將時(shí)分秒轉(zhuǎn)換成秒的實(shí)例

    今天小編就為大家分享一篇python將時(shí)分秒轉(zhuǎn)換成秒的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12

最新評(píng)論