1

私はPythonでゲームをコーディングしています(またはコーディングしようとしています)が、次の問題があります。loop このループを使用すると、辞書からの値が得られるはずです(x.chestなど、すべての辞書はそのように見えます{'fire': 0.0, 'water': 0.0, 'acid': 0.0,'air': 0.0}):

for damag in (x.chest, x.stomach, x.lhand, x.rhand, x.lleg, x.rleg):
    for value in damag.values():
        print(value)

私は得る

AttributeError: 'function' object has no attribute 'values'

コードを次のように変更した場合:

for damag in (x.chest, x.stomach, x.lhand, x.rhand, x.lleg, x.rleg):
    for value in damag().values():
        print(value)

それは機能しますが、部分的にしか機能しません。x.chest から値を返し、エラーを返します。

TypeError: 'dict' object is not callable

この問題の解決策は簡単だと思いますが、私の考えに欠陥があり、見つけることができません。辞書ごとに別々のループを実行することでこれを解決できますが、これは最善のアイデアではないと思います。

4

1 に答える 1

5

明らかに、属性のリストはx均一ではありません。あなたがリストした属性の少なくとも1つは関数ですが、他の少なくとも1つは辞書です。

于 2012-07-15T09:25:10.487 に答える