如果我有代码:
attRoll = 34
hit = False
dmg = 1
attSequence = [attRoll, hit, dmg]
print attSequence[dmg]
它打印的是hit(False)而不是dmg(1)的值,我可以通过输入以下内容来解决这个问题:
print attSequence[dmg+1]
我的问题:
- 为什么不打印dmg的值?
- 有一个干净的方式(没有+1)来检索命中的值吗?
谢谢!
答案 0 :(得分:2)
attSequence
是一个列表,dmg
是1,因此attSequence[1]
表示“在attSequence
”中“将我的项目放在索引1(第二项)”。对于你正在做的事情,你可能想要dictionary(在其他语言中通常称为map),它存储键/值映射,因此你可以使用“dmg”键存储损坏。 :
att = {
"roll": attRoll,
"hit": hit,
"dmg": dmg
}
print att["dmg"]
您还可以将文字放在地图中,这样就可以执行此操作:
att = {
"roll": 34,
"hit": False,
"dmg": 1
}