0

私がコードを持っている場合:

attRoll = 34
hit = False
dmg = 1

attSequence = [attRoll, hit, dmg]

print attSequence[dmg]

dmg (1) ではなく、hit (False) の値を出力します。次のように入力して、これを回避できます。

print attSequence[dmg+1]

私の質問:
-dmg の値を出力しないのはなぜですか?
-ヒットの値を取得するためのクリーンな方法 (+1 なし) はありますか?

ありがとう!

4

1 に答える 1

2

attSequenceはリストであり、dmg1 であるため、attSequence[1]「インデックス 1 の項目 (2 番目の項目) をください」を意味します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 に答える