最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

軟件python

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

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

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

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

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

這一步是將外部數(shù)據(jù)寫入數(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ù)寫入成功!")

1.用戶登錄:

def login():
?? ?userlist=readUser()
?? ?uname=input("請(qǐng)輸入您的用戶名:")
?? ?upwd=input("請(qǐng)輸入您的密碼:")
?? ?msg="失敗"
?? ?for user in userlist:
?? ??? ?if uname==user["用戶名"] and upwd==user["密碼"]:
?? ??? ??? ?print("恭喜",user["姓名"],"登錄成功")
?? ??? ??? ?msg="成功"
?? ?if msg=="失敗":
?? ??? ?print("登錄失敗,請(qǐng)從新登錄!")
?? ?return msg

2.顯示圖書列表:

def Showbooklist():
?? ?Booklist=readBook()
?? ?print("**************************圖書目錄**************************")
?? ?for data in Booklist:
?? ??? ?print(data["編號(hào)"],"\t",data["書名"],"\t\t\t",data["作者"],"\t\t\t",data["借出狀態(tài)"])
?? ?print("---------------------------------------------------")

3.添加圖書

def addBook():
?? ?Booklist=readBook()
?? ?numlist=[]
?? ?for book in Booklist:
?? ??? ?numlist.append(book["編號(hào)"])
?? ?newnum=max(numlist)+1
?? ?Bname=input("請(qǐng)輸入書名:")
?? ?writer=input("請(qǐng)輸入圖書作者:")
?? ?condi="可借"
?? ?newBooklist={"編號(hào)": newnum, "書名": Bname, "作者": writer,"借出狀態(tài)":condi}
?? ?Booklist.append(newBooklist)
?? ?writeBook(Booklist)

4.刪除圖書

def delbook():
?? ?Booklist=readBook()
?? ?Bnum=int(input("請(qǐng)輸入要?jiǎng)h除的圖書編號(hào):"))
?? ?Bname=input("請(qǐng)輸入要?jiǎng)h除的圖書名稱:")
?? ?for book in Booklist:
?? ??? ?if Bnum==book["編號(hào)"] or Bname==book["書名"]:
?? ??? ??? ?Booklist.remove(book)
?? ??? ??? ?print("圖書已",book["書名"],"經(jīng)刪除")
?? ?writeBook(Booklist)

5.借閱圖書

def lendbook():
?? ?Booklist=readBook()
?? ?Bnum=int(input("請(qǐng)輸入要借閱的圖書編號(hào):"))
?? ?Bname=input("請(qǐng)輸入要借閱的圖書名稱:")
?? ?for book in Booklist:
?? ??? ?if Bnum==book["編號(hào)"] or Bname==book["書名"]:
?? ??? ??? ?if book["借出狀態(tài)"]=="可借":
?? ??? ??? ??? ?print("此書在架,可借閱")
?? ??? ??? ??? ?a=int(input("借閱請(qǐng)安1,退出請(qǐng)按0:"))
?? ??? ??? ??? ?if a==1:
?? ??? ??? ??? ??? ?book["借出狀態(tài)"]="已借出"?? ?
?? ??? ??? ??? ?else:
?? ??? ??? ??? ??? ?break
?? ??? ??? ?else:
?? ??? ??? ??? ?print("此書已被借出,等歸還后再借")
?? ?writeBook(Booklist)

6.歸還圖書

def returnbook():
?? ?Booklist=readBook()
?? ?Bnum=int(input("請(qǐng)輸入要還的圖書編號(hào):"))
?? ?Bname=input("請(qǐng)輸入要還的圖書名稱:")
?? ?for book in Booklist:
?? ??? ?if Bnum==book["編號(hào)"] or Bname==book["書名"]:
?? ??? ??? ?if book["借出狀態(tài)"]=="已借出":
?? ??? ??? ??? ?book["借出狀態(tài)"]="可借"
?? ??? ??? ??? ?print(book["書名"],"已還")

?? ??? ??? ?else:
?? ??? ??? ??? ?print(book["書名"],"書已在架,不用歸還")
?? ?writeBook(Booklist)

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

while 1==1:
?? ?print("*************************圖書管理系統(tǒng)2.0******************************")
?? ?msg=login()
?? ?if msg=="成功":
?? ??? ?print("1.顯示所有的圖書;\n2.圖書上架;\n3.圖書下架;\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("沒有此業(yè)務(wù),請(qǐng)重新選擇")
?? ??? ??? ?continue

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

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

相關(guān)文章

  • 一篇文章帶你學(xué)習(xí)Python3的高級(jí)特性(2)

    一篇文章帶你學(xué)習(xí)Python3的高級(jí)特性(2)

    這篇文章主要為大家詳細(xì)介紹了Python3的高階函數(shù),主要介紹什么是高級(jí)特性,高級(jí)特性的用法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • python計(jì)算auc指標(biāo)實(shí)例

    python計(jì)算auc指標(biāo)實(shí)例

    下面小編就為大家?guī)硪黄猵ython計(jì)算auc指標(biāo)實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • Django學(xué)習(xí)筆記之ORM基礎(chǔ)教程

    Django學(xué)習(xí)筆記之ORM基礎(chǔ)教程

    ORM,即Object-Relational Mapping(對(duì)象關(guān)系映射),它的作用是在關(guān)系型數(shù)據(jù)庫(kù)和業(yè)務(wù)實(shí)體對(duì)象之間作一個(gè)映射,下面這篇文章主要給大家介紹了關(guān)于Django學(xué)習(xí)筆記之ORM基礎(chǔ)教程的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2018-03-03
  • 淺談Python模塊導(dǎo)入規(guī)范

    淺談Python模塊導(dǎo)入規(guī)范

    這篇文章主要介紹了淺談Python模塊導(dǎo)入規(guī)范,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • django框架使用orm實(shí)現(xiàn)批量更新數(shù)據(jù)的方法

    django框架使用orm實(shí)現(xiàn)批量更新數(shù)據(jù)的方法

    這篇文章主要介紹了django框架使用orm實(shí)現(xiàn)批量更新數(shù)據(jù)的方法,結(jié)合實(shí)例形式簡(jiǎn)單分析了Django基于orm操作數(shù)據(jù)庫(kù)更新數(shù)據(jù)的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-06-06
  • python中的eval函數(shù)使用實(shí)例

    python中的eval函數(shù)使用實(shí)例

    eval() 函數(shù)用來執(zhí)行一個(gè)字符串表達(dá)式,并返回表達(dá)式的值,這篇文章主要介紹了python中的eval函數(shù),需要的朋友可以參考下
    2022-11-11
  • Python之parser.add_argument解讀

    Python之parser.add_argument解讀

    這篇文章主要介紹了Python之parser.add_argument解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 對(duì)python中不同模塊(函數(shù)、類、變量)的調(diào)用詳解

    對(duì)python中不同模塊(函數(shù)、類、變量)的調(diào)用詳解

    今天小編就為大家分享一篇對(duì)python中不同模塊(函數(shù)、類、變量)的調(diào)用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python?如何實(shí)現(xiàn)批量轉(zhuǎn)換視頻音頻的采樣率

    Python?如何實(shí)現(xiàn)批量轉(zhuǎn)換視頻音頻的采樣率

    這篇文章主要分享一個(gè)python代碼,可以將多個(gè)視頻中的音頻轉(zhuǎn)化為相同采樣率的視頻,具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下
    2021-11-11
  • 解決pycharm下載庫(kù)時(shí)出現(xiàn)Failed to install package的問題

    解決pycharm下載庫(kù)時(shí)出現(xiàn)Failed to install package的問題

    很多小伙伴遇到pycharm下載庫(kù)時(shí)出現(xiàn)Failed to install package不知道怎么解決,下面小編給大家?guī)砹私鉀Q方法,需要的朋友參考下吧
    2021-09-09

最新評(píng)論

舟山市| 巴林左旗| 盐山县| 鹤壁市| 泗水县| 台东市| 万载县| 来凤县| 图木舒克市| 南皮县| 繁昌县| 阜新市| 绍兴县| 凌海市| 胶南市| 云安县| 普陀区| 柏乡县| 深水埗区| 石景山区| 江城| 开远市| 阆中市| 庆安县| 福建省| 东城区| 城口县| 渝中区| 柳州市| 怀柔区| 溧阳市| 武宁县| 筠连县| 江津市| 镇雄县| 盐池县| 峨山| 沙田区| 锡林郭勒盟| 曲麻莱县| 任丘市|