在我的游戏代码中,用户围绕着一个网格移动,如果他们着陆在宝箱上,他们的钱币收集量将增加10点。然而,一旦你登陆同一个宝箱3次,它会变成一个盗贼并设置你的钱币收藏为0.我挣扎于此,因为当用户确定首先有多少值时,很难计算列表中的单个值。这是当前代码我为:在Python中的列表和字典之间进行切换?
TreasureCoords[(x,y)] = 0
Visits = TreasureCoords.get((x,y), None)
if Visits is None:
pass # Nothing happens
elif Visits > 3:
print("Uh oh there's a bandit! Your coin collection is now 0.")
CoinCollection = 0
else:
print("You have landed on a treasure chest! You can visit it %i more times before it becomes a bandit." % (2 - visits))
CoinCollection += 10
TreasureCoords[(x,y)] += 1
然而,当实现到我的代码,就会发生这样的错误: TreasureCoords [(X,Y)] = 0 类型错误:列表索引必须是整数,而不是元组 我相信这是为了处理上述代码使用TreasureCoords作为字典的事实,实际上它是一个充满x和y值的列表,宝箱位于其中。我不相信只要将我的TreasureCoords和BanditCoords改为词典,因为这些值是随机设置的,值的数量是由用户设置的,所以我不知道如何设置密钥或任何东西。我该怎么办?
是的,我同意了线的造访= TreasureCoords.get((X,Y),无)使用字典方法,但我不知道如何将我的列表更改为字典。该行本身并不真正起作用,因为TreasureCoords是一个列表,并且已被分配TreasureCoords = random.sample(PossibleCoords,TCNumber),其中PossibleCoords是网格中的所有坐标列表,当用户设置网格时,大小和TCNumber更改每场比赛的比赛,因为它是由用户设置的。 – George
@George不幸的是,stackoverflow不用于回答这些广泛的问题。我给出的答案是,你应该尝试字典,如果你不知道如何做,那么你需要了解字典 - 它的简单。 –
不,我知道如何创建一个字典,并阅读了您链接到我的网页,我只是看不到我如何将它们实现到我的代码中,并想知道是否有一个替代方法用于我的问题中使用的代码块。对不起,如果我的问题太广泛 – George