如果我有代码:
attRoll = 34
hit = False
dmg = 1
attSequence = [attRoll, hit, dmg]
print attSequence[dmg]
它打印命中(假)的值而不是 dmg(1),我可以通过输入来解决这个问题:
print attSequence[dmg+1]
我的问题:-
为什么不打印 dmg 的值?
- 有没有一种干净的方法(没有+1)来检索命中的值?
谢谢!
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
}