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

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

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

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

軟件python

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

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

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

一步是讀取數(shù)據(jù)庫中的數(shù)據(jù),將其轉(zhuǎ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ù)庫

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("請輸入您的用戶名:")
?? ?upwd=input("請輸入您的密碼:")
?? ?msg="失敗"
?? ?for user in userlist:
?? ??? ?if uname==user["用戶名"] and upwd==user["密碼"]:
?? ??? ??? ?print("恭喜",user["姓名"],"登錄成功")
?? ??? ??? ?msg="成功"
?? ?if msg=="失敗":
?? ??? ?print("登錄失敗,請從新登錄!")
?? ?return msg

2.顯示圖書列表:

def Showbooklist():
?? ?Booklist=readBook()
?? ?print("**************************圖書目錄**************************")
?? ?for data in Booklist:
?? ??? ?print(data["編號"],"\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["編號"])
?? ?newnum=max(numlist)+1
?? ?Bname=input("請輸入書名:")
?? ?writer=input("請輸入圖書作者:")
?? ?condi="可借"
?? ?newBooklist={"編號": newnum, "書名": Bname, "作者": writer,"借出狀態(tài)":condi}
?? ?Booklist.append(newBooklist)
?? ?writeBook(Booklist)

4.刪除圖書

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

5.借閱圖書

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

6.歸還圖書

def returnbook():
?? ?Booklist=readBook()
?? ?Bnum=int(input("請輸入要還的圖書編號:"))
?? ?Bname=input("請輸入要還的圖書名稱:")
?? ?for book in Booklist:
?? ??? ?if Bnum==book["編號"] 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("請輸入業(yè)務(wù)編號(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ù),請重新選擇")
?? ??? ??? ?continue

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

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

相關(guān)文章

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

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

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

    python計算auc指標實例

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

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

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

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

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

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

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

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

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

    Python之parser.add_argument解讀

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

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

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

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

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

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

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

最新評論

江华| 沾化县| 和平区| 肥乡县| 南靖县| 诸暨市| 辰溪县| 察隅县| 南京市| 喀什市| 裕民县| 来宾市| 商河县| 铅山县| 涿州市| 宜兰市| 广德县| 齐齐哈尔市| 瑞安市| 涿州市| 河曲县| 北海市| 九龙城区| 斗六市| 乐安县| 平乐县| 灯塔市| 桂东县| 开阳县| 灵寿县| 河曲县| 舒城县| 黄山市| 正安县| 江西省| 五指山市| 攀枝花市| 米易县| 辽宁省| 新田县| 锦州市|