0

如果我有代码:

attRoll = 34
hit = False
dmg = 1

attSequence = [attRoll, hit, dmg]

print attSequence[dmg]

它打印命中(假)的值而不是 dmg(1),我可以通过输入来解决这个问题:

print attSequence[dmg+1]

我的问题:-
为什么不打印 dmg 的值?
- 有没有一种干净的方法(没有+1)来检索命中的值?

谢谢!

4

1 回答 1

2

attSequence是一个列表,并且dmg是 1,所以attSequence[1]意思是“给我索引 1 处的项目(第二个项目)attSequence”。对于您正在做的事情,您可能需要一个字典(通常在其他语言中称为映射),它存储键/值映射,因此您可以使用“dmg”键存储损坏:

att = {
    "roll": attRoll,
    "hit": hit,
    "dmg": dmg
}
print att["dmg"]

您还可以将文字放在地图中,因此您可以这样做:

att = {
    "roll": 34,
    "hit": False,
    "dmg": 1
}
于 2013-06-18T22:44:54.370 回答