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

用Python做一個簡單的圖書管理系統(tǒng)

 更新時間:2023年04月23日 08:45:53   作者:瘋狂創(chuàng)作者  
這篇文章主要介紹了用Python做一個簡單的圖書管理系統(tǒng),有“還書““借閱”“添加書籍”等功能,文中提供了部分實現(xiàn)代碼和解決思路,有一定的參考價值,需要的朋友快來一起看看吧

制定步驟

1、進入提示語:

為了制作一個友好的“圖書管理系統(tǒng)”,先列出所有功能的菜單。如下:

print("""
***************************
* 歡迎進入圖書管理系統(tǒng)    *
* 0 .退出                 *
* 1 .列出所有書籍         *
* 2 .添加書籍             *
* 3 .修改書籍             *
* 4 .刪除書籍             *
* 5 .借書                 *
* 6 .還書                 *
***************************
""")

2、獲取用戶輸入:

第二步,用戶會輸入 0~6 的整數(shù),以對應相對的功能。如果用戶輸入錯誤,輸出“輸入錯誤,請重新輸入”。

while True:
    n=input("輸入序號(0-6):")
    if n=="0":
        pass
    elif n=="1":
        pass
    elif n=="2":
        pass
    elif n=="3":
        pass
    elif n=="4":
        pass
    elif n=="5":
        pass
    elif n=="6":
        pass
    else:
        print("輸入錯誤,請重新輸入")
        print("")   #表示換一行

擴展:

很多語言都提供了“空語句”支持。Python 也不例外,Python 的 pass 語句就是空語句。

有時候程序需要占一個位、放一條語句,但又不希望這條語句做任何事情,此時就可通過 pass 語句來實現(xiàn)。通過使用 pass 語句,可以讓程序更完整。

如下程序示范了 pass 作為空語句的用法:

s=int(input("請輸入一個整數(shù): "))
if s>5:
    print("大于5")
elif s<5:
    pass   # 相當于占位符
else:
    print("等于5")

正如從上面程序所看到的,對于 s 小于 5 的情形,程序暫時不處理(或不知道如何處理),此時程序就需要通過空語句來占一個位,這樣即可使用 pass 語句了。

3、完善各指令程序

如:用戶輸入“0”,即不但需要告訴用戶“已退出程序”,還要完成“退出”功能,代碼如下:

if n=="0":
    print("退出成功")
    break

再比如:用戶輸入“5”( 借書 ),如果庫存仍有,提示“借書成功”,并減少此書庫存。否則提示“庫存不足”。如下程序:

elif n=="5":
    xh=intinput()
    book=books[xh-1]
    if book["num"]>0:
        book["num"]-=1
        print("借書成功")
    else:
        print("庫存不足")

請參照以上代碼,完善其他功能。

4、優(yōu)化程序,使代碼更簡潔

可以定義函數(shù),并循環(huán)使用函數(shù),有助于代碼的簡潔性。如代碼:

def intinput(n="請輸入序號:"):
    while True:
        s=input(n)
        if s.isnumeric():
            return int(s)
        else:
            print("請輸入整數(shù)")

擴展:

str.isnumeric() 方法:

檢測字符串是否只由數(shù)字組成。這種方法是只針對 unicode 對象。

函數(shù)參數(shù)含義與注意事項:

各部分參數(shù)的含義如下:

  • 函數(shù)名:其實就是一個符合 Python 語法的標識符,但不建議讀者使用 a、b、c 這類簡單的標識符作為函數(shù)名,函數(shù)名最好能夠體現(xiàn)出該函數(shù)的功能(如上面的 my_len,即表示我們自定義的 len() 函數(shù))。
  • 形參列表:設置該函數(shù)可以接收多少個參數(shù),多個參數(shù)之間用逗號( , )分隔。
  • [return [返回值] ]:整體作為函數(shù)的可選參參數(shù),用于設置該函數(shù)的返回值。也就是說,一個函數(shù),可以用返回值,也可以沒有返回值,是否需要根據(jù)實際情況而定。

注:在創(chuàng)建函數(shù)時,即使函數(shù)不需要參數(shù),也必須保留一對空的“()”,否則 Python 解釋器將提示“invaild syntax”錯誤。另外,如果想定義一個沒有任何功能的空函數(shù),可以使用 pass 語句作為占位符。

函數(shù)的優(yōu)點:

  • 在python之中使用函數(shù)最大和最直觀的優(yōu)點就是可以將一段代碼封裝起來以便隨時調用,這樣能夠極大的提高了程序的簡潔性和可讀性,還可以讓代碼的邏輯性更加清晰。
  • 一般來說使用函數(shù)去封裝的代碼塊都是去實現(xiàn)某一種功能的,而被封裝成函數(shù)的代碼就能夠不斷地去重復的調用。這樣既可以提高python程序的開發(fā)效率,還可以減少一些不必要代碼的編寫。
  • 函數(shù)還有優(yōu)點就是它其實是一個獨立于其他外部代碼的模塊,在一個python程序去執(zhí)行時如果不手動的去調用函數(shù)的話那么這個函數(shù)是不會去執(zhí)行的。而當函數(shù)之中出現(xiàn)了錯誤的時候也很容易的就能夠去進行修改而不會對程序的運行造成太大的影響,很好的實現(xiàn)了模塊化。
  • python函數(shù)還可以直接保存在一個py文件之中然后以模塊的方式去導入,這樣一個通用的編寫好的python函數(shù)就能夠運用在很多不同的程序之中,經(jīng)常使用的內置模塊和python第三方庫內其實存儲的就是一個個函數(shù)。

圖書管理系統(tǒng)所有代碼:

def intinput(n="請輸入序號:"):
    while True:
        s=input(n)
        if s.isnumeric():
            return int(s)
        else:
            print("請輸入整數(shù)")
 
books=[{"name":"Scratch","isbn":"12345","num":2},
       {"name":"Python","isbn":"12346","num":5}]
print("""
***************************
* 歡迎進入圖書管理系統(tǒng)    *
* 0 .退出                 *
* 1 .列出所有書籍         *
* 2 .添加書籍             *
* 3 .修改書籍             *
* 4 .刪除書籍             *
* 5 .借書                 *
* 6 .還書                 *
***************************
""")
 
while True:
    n=input("輸入序號(0-6):")
    if n=="0":
        print("退出成功")
        break
    elif n=="1":
        print("序號\t書名\t書號\t數(shù)量")
        index=1
        for book in books:
            print("%d\t%s\t%s\t%d"%(index,book["name"],book["isbn"],book["num"]))
            index+=1
    elif n=="2":
        book=dict()
        book["name"]=input("請輸入書名:")
        book["isbn"]=input("請輸入書號:")
        book["num"]=intinput("請輸入數(shù)量:")      
        books.append(book)
        print("添加成功")
    elif n=="3":
        try:
            xh=intinput()
            book=books[xh-1]
            book["name"]=input("請輸入書名:")
            book["isbn"]=input("請輸入書號:")
            book["num"]=intinput("請輸入數(shù)量:")
            print("修改成功")
        except:
            print("出錯了")
    elif n=="4":
        s=intinput()
        if 1<=s<=len(books):
            del books[xh-1]
            print("刪除成功")
        else:
            print("超出范圍")
    elif n=="5":
        xh=intinput()
        book=books[xh-1]
        if book["num"]>0:
            book["num"]-=1
            print("借書成功")
        else:
            print("庫存不足")
    elif n=="6":
        xh=intinput()
        try:
            book=books[xh-1]
            book["num"]-=1
            print("還書成功")
        except:
            print("未查詢到書本")
    else:
        print("輸入錯誤,請重新輸入")
        print("")

到此這篇關于用Python做一個簡單的圖書管理系統(tǒng)的文章就介紹到這了,更多相關Python圖書管理系統(tǒng)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Pytorch反向求導更新網(wǎng)絡參數(shù)的方法

    Pytorch反向求導更新網(wǎng)絡參數(shù)的方法

    今天小編就為大家分享一篇Pytorch反向求導更新網(wǎng)絡參數(shù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python中else怎么用?else的用法總結

    Python中else怎么用?else的用法總結

    這篇文章主要介紹了Python中else的用法總結,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python PrettyTable模塊的安裝與簡單應用

    python PrettyTable模塊的安裝與簡單應用

    prettyTable 是一款很簡潔但是功能強大的第三方模塊,主要是將輸入的數(shù)據(jù)轉化為格式化的形式來輸出,這篇文章主要介紹了python PrettyTable模塊的安裝與簡單應用,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 如何基于線程池提升request模塊效率

    如何基于線程池提升request模塊效率

    這篇文章主要介紹了如何基于線程池提升request模塊效率,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • 如何查看Mac本機的Python3安裝路徑

    如何查看Mac本機的Python3安裝路徑

    這篇文章主要介紹了如何查看Mac本機的Python3安裝路徑問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • python_tkinter彈出對話框創(chuàng)建2

    python_tkinter彈出對話框創(chuàng)建2

    這篇文章主要介紹了python_tkinter彈出對話框創(chuàng)建,上以篇文章我們簡單的對對話框創(chuàng)建做了簡單介紹,本文將繼續(xù)更多相關內容,需要的小伙伴可以參考一下
    2022-03-03
  • 使用 Supervisor 監(jiān)控 Python3 進程方式

    使用 Supervisor 監(jiān)控 Python3 進程方式

    今天小編就為大家分享一篇使用 Supervisor 監(jiān)控 Python3 進程方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python?munch包?/Munch()?的用法詳解

    Python?munch包?/Munch()?的用法詳解

    這篇文章主要介紹了Python?munch包?/Munch()?的用法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • Python函數(shù)的定義與調用方法實例

    Python函數(shù)的定義與調用方法實例

    Python 中函數(shù)的應用非常廣泛,函數(shù)是組織好的,可重復使用的,用來實現(xiàn)單一,或相關聯(lián)功能的代碼段,這篇文章主要給大家介紹了關于Python函數(shù)的定義與調用的相關資料,需要的朋友可以參考下
    2023-06-06
  • Python使用ntplib庫同步校準當?shù)貢r間的方法

    Python使用ntplib庫同步校準當?shù)貢r間的方法

    NTP網(wǎng)絡時間協(xié)議其實大家平時或多或少都能接觸到,包括Windows在內的操作系統(tǒng)中的很多Internet時間同步功能都是在NTP的基礎上來做,這里我們來看一下Python使用ntplib庫同步校準當?shù)貢r間的方法
    2016-07-07

最新評論

会理县| 焦作市| 巴林左旗| 四平市| 林周县| 昂仁县| 南澳县| 桐柏县| 尼玛县| 成安县| 宜宾市| 缙云县| 江安县| 龙门县| 南岸区| 林芝县| 毕节市| 江口县| 龙州县| 云阳县| 英德市| 茂名市| 梁山县| 万州区| 卢湾区| 灵石县| 凭祥市| 报价| 永州市| 黄骅市| 江山市| 达州市| 林口县| 绵竹市| 黑水县| 浮梁县| 察雅县| 贺兰县| 正定县| 宁城县| 台南县|