我正在为我正在设计的游戏“拾取所有”和“全部丢弃”。玩家拥有一个库存(库存),每个房间都有自己的存储空间来跟踪其内容。当它是一个特定的项目时,我可以轻松地追加或从相应的列表中删除该项目,但是当它适用于所有项目时,我不知道如何继续。 (注:我不知道有多少项目是在库存为随着玩家需要和掉落物品会改变)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