我正在撰寫用 Python 自動化無聊的東西這本書。我得到了預期的結果,但我也得到了附加值None。說明如下:
幻想游戲庫存的字典功能串列:
想象一條被征服的龍的戰利品表示為如下字串串列:
dragonLoot = ['gold coin', 'dagger', 'gold coin', 'gold coin', 'ruby']
撰寫一個名為 的函式 addToInventory(inventory, addedItems),其中 inventory 引數是表示玩家庫存的字典(如上一個專案中), addedItems 引數是一個串列,如 dragonLoot. 該 addToInventory() 函式應回傳一個表示更新庫存的字典。請注意,addedItems 串列可以包含多個相同的專案。您的代碼可能如下所示:
def addToinventory(inventory, addedItems):
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
我的代碼如下
def addToinventory(inventory, addedItems):
for i in addedItems:
inventory.setdefault(i, 0)
inventory[i] = 1
itotal = 0
for k, v in inventory.items():
print(str(v), k)
itotal = v
print('Total number of items', itotal)
inv = {'gold coin': 42, 'rope': 1}
dragonloot = ['gold coin', 'dagger', 'gold coin', 'gold coin', 'ruby']
print(addToinventory(inv, dragonloot))
我的輸出是這樣的:
45 gold coin
1 rope
1 dagger
1 ruby
Total number of items 48
None
在輸出結束時,我有一個懸空的None. 我完全不明白為什么?
uj5u.com熱心網友回復:
這是因為線,print(addToinventory(inv, dragonloot))。
在這里,您正在嘗試列印return valueof addToinventory()。并且addToinventory()不回傳任何內容,因此您正在列印None。
要擺脫None,請替換print(addToinventory(inv, dragonloot))為addToinventory(inv, dragonloot)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/492678.html
標籤:Python python-3.x 列表 功能 字典
上一篇:試圖通過cgit
