第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何更新 CSV 文件中的特定位置?

如何更新 CSV 文件中的特定位置?

四季花海 2022-10-18 19:42:27
我目前正在為我們提供一個(gè)圖書館系統(tǒng)的骨架代碼。用戶能夠從允許他們查詢或簽入/簽出項(xiàng)目的菜單中輸入各種命令。這些項(xiàng)目存儲(chǔ)在兩個(gè) CSV 文件中(library_collections["movies"]、library_collections["books"] 并且已經(jīng)由骨架代碼加載。我已經(jīng)為查詢功能編寫了代碼,但是,我遇到了問(wèn)題入住/退房功能。用戶在菜單中輸入命令后,系統(tǒng)會(huì)提示他們輸入項(xiàng)目 ID,然后該 ID 應(yīng)該與 CSV 文件中的 ID 匹配。這是我的簽到代碼。 def cib(id , library_collections):     for i in library_collections["books"]:         if id == i["ID"]:             i["Available"]=i["Available"]+1             return 'Item has successfully Been Checked In'         elif id != i['ID']:             return 'Please restart the program and enter a valid ID'簽入的輸出 output: None這是我的結(jié)帳代碼。def cob(id, library_collections):    for i in library_collections["books"]:        if id == i["ID"]:            if i["Available"] > 0:                i["Available"] = i["Available"] - 1                return('Item Successfully Checked-out')            elif i["Available"] == 0:                print('There are no more available copies')        elif id != i["ID"]:            return'Please restart the program and enter a valid ID'Check out 的輸出 output: 'Please restart the program and enter a valid ID'每當(dāng)我輸入我知道在 CSV 文件中的 ID 時(shí),這兩個(gè)函數(shù)都會(huì)給我與上面寫的相同的輸出。因此,兩者都對(duì) CSV 文件沒(méi)有影響。
查看完整描述

1 回答

?
幕布斯6054654

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊

如果您的引導(dǎo)不是列表中的第一個(gè),則您將落入 elif 并返回錯(cuò)誤消息


這可能有效:


def cib(id , library_collections):

     for i in library_collections["books"]:

         if id == i["ID"]:

             i["Available"]=i["Available"]+1

             return 'Item has successfully Been Checked In'

     return 'Please restart the program and enter a valid ID'

因此,您首先遍歷所有書籍,如果找不到該書籍,您將返回錯(cuò)誤消息。


cob方法中的相同內(nèi)容


循環(huán)遍歷字典列表不是有效的方法。如果我正在編寫類似的代碼并且由于某種原因我無(wú)法使用正確的數(shù)據(jù)庫(kù),我會(huì)將 CSV 解析為 dict。數(shù)據(jù)模型可能是這樣的:


{ 1: {"available": 10, "name": "Hamlet", "author": "W. Shakespeare", "year": 1609},

  123: {"available": 0, "name": "Война и мир", "author": "L. Tolstoi", "year": 1869},

}

其中 1 和 123 是 ID。您也可以將字符串用作 id。然后你簡(jiǎn)單地做你的方法


def cib(id, library_collection): 

   try:

       library_collection[id]["available"] += 1

       return 'Item has successfully Been Checked In'

   except:

        return 'Please restart the program and enter a valid ID'

或者


def cib(id, library_collection): 

    if id in library_collection:

       library_collection[id]["available"] += 1

       return 'Item has successfully Been Checked In'

    else:

        return 'Please restart the program and enter a valid ID'

避免 for 循環(huán)總是好主意。


查看完整回答
反對(duì) 回復(fù) 2022-10-18
  • 1 回答
  • 0 關(guān)注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)