我正在爲我正在設計的遊戲「拾取所有」和「全部丟棄」。玩家擁有一個庫存(庫存),每個房間都有自己的存儲空間來跟蹤其內容。當它是一個特定的項目時,我可以輕鬆地追加或從相應的列表中刪除該項目,但是當它適用於所有項目時,我不知道如何繼續。 (注:我不知道有多少項目是在庫存爲隨着玩家需要和掉落物品會改變)For Loop追加到另一個列表
ROOMNAMEinventory = ['lamp', 'coin']
inventory = ['string']
do = raw_input("What would you like to do?").upper()
if(do == 'drop all'):
for items in ROOMNAMEinventory:
inventory.append(items)
ROOMNAMEinventory.remove(items)
print inventory
print ROOMNAMEinventory
目前,這款打印出:
['string', 'lamp']
['coin']
None
爲什麼它打印無?
必須有這一個億的重複:不要」修改你迭代的列表。 – polku
您的代碼無法生成觀察到的輸出。沒有第三個'print'語句來生成'None','do'永遠不會等於''drop all'',因爲它不會包含任何小寫字母,也就是'str.upper()'的返回值。 – chepner
對於這個特定的例子,你可以使用list的'extend'和'clear'方法來做同樣的事情。 – Copperfield