如果我有代码:
attRoll = 34
hit = False
dmg = 1
attSequence = [attRoll, hit, dmg]
print attSequence[dmg]
它打印hit (False)的值而不是dmg(1),我可以通过输入:
来解决这个问题:print attSequence[dmg+1]
我的问题:为什么不打印dmg的值?
-有一个干净的方式(没有+1)检索命中值?
谢谢!
attSequence
是一个列表,dmg
是1,所以attSequence[1]
表示"给我索引为1的项目(attSequence
中的第二个项目)"。对于您正在做的事情,您可能需要一个字典(在其他语言中通常称为map),它存储键/值映射,因此您可以使用键"dmg"存储损坏:
att = {
"roll": attRoll,
"hit": hit,
"dmg": dmg
}
print att["dmg"]
您也可以在映射中放置文字,因此您可以这样做:
att = {
"roll": 34,
"hit": False,
"dmg": 1
}