python变量列表,按变量名检索变量值

2024-10-01 05:03:39 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我有密码:

attRoll = 34
hit = False
dmg = 1

attSequence = [attRoll, hit, dmg]

print attSequence[dmg]

它打印的是hit(False)的值,而不是dmg(1),我可以通过输入:

print attSequence[dmg+1]

我的问题:
-为什么不打印dmg的值?
-有没有一个干净的方法(没有+1)来获取命中值?你知道吗

谢谢!你知道吗


Tags: 方法false密码printhitdmgattrollattsequence
1条回答
网友
1楼 · 发布于 2024-10-01 05:03:39

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
}

相关问题 更多 >