日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

列表到字典的函数,针对好玩游戏物品清单

發布時間:2023/12/20 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 列表到字典的函数,针对好玩游戏物品清单 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

假設征服一條龍的戰利品表示為這樣的字符串列表:?
dragonLoot ?= ?['gold ?coin', ?'dagger', 'gold ?coin', 'gold ?coin', 'ruby']?
寫一個名為 addToInventory(inventory, ?addedItems)的函數,其中 inventory參數是一個字典,表示玩家的物品清單(像前面項目一樣),addedItems參數是一個列表,就像 dragonLoot。?
?? ?addToInventory()函數應該返回一個字典,表示更新過的物品清單。請注意,列表可以包含多個同樣的項。你的代碼看起來可能像這樣:?
?

def ?addToInventory(inventory, ?addedItems):?# ?your ?code ?goes ?here?inv ?= ?{'gold ?coin': ?42, ?'rope': ?1}? dragonLoot ?= ?['gold ?coin', ?'dagger', 'gold ?coin', 'gold ?coin', 'ruby'] inv ?= ?addToInventory(inv, ?dragonLoot)? displayInventory(inv)?

前面的程序(加上前一個項目中的 displayInventory()函數)將輸出如下:?

Inventory:? 45 ?gold ?coin? 1 ?rope? 1 ?ruby? 1 ?dagger?Total ?number ?of ?items: ?48?

這個問題的核心就是如何統計列表中元素的個數,然后把列表轉成字典合并到先前的物品清單的字典中。
?

統計列表中元素的個數,可以用字典的get方法或者setdefaul方法,下面是代碼:

def displayInventory(things):print('Inventory:')amount = 0for k, v in things.items():print(v,k)amount=amount+vprint('Total number of items:', amount)def addToInventory(inventory, addedItems):for k in addedItems:inventory[k]=inventory.get(k,0)+1return inventorystuff={'rope':1, 'torch':6, 'gold coin':42, 'dagger':1, 'arrow':12} dragonLoot = ['gold coin', 'dagger', 'gold coin', 'gold coin', 'ruby']stuff=addToInventory(stuff, dragonLoot) displayInventory(stuff) addToInventory函數也可以不用get()方法,用setdefault()方法實現,效果一樣: def add_inventory(inventory, addedItems):for k in addedItems:inventory.setdefault(k, 0)inventory[k] = inventory[k]+1return inventory

總結

以上是生活随笔為你收集整理的列表到字典的函数,针对好玩游戏物品清单的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。