Pythonを使ってサッカーゲームを作ろうとしています。私が遭遇した問題のほとんどは、回避策を見つけることができました。ただし、メソッド名を参照すると、「グローバル名 '---' が定義されていません」というエラーが発生します。私が見たところ、問題はメソッドからメソッドを呼び出そうとすることです。コードを貼り付けると、何が起こっているのかを説明するのに時間がかかりすぎるため、問題の非常に基本的な例を書きました。
class example():
def doMath(x,y):
z = x + y
z = square(z)
return z
def square(z):
z = z * z
return z
print doMath(5,4)
これは決して書く価値のあるプログラムではなく、その計算を行うスマートな方法でもありません...それは私が抱えている問題を模倣しているだけです。メソッド「doMath」はメソッド「square」の存在を認識していないため、このコードは機能しません。Square メソッドをサブメソッドにすることで、これが修正されるのを見てきました (それが何と呼ばれているのかわかりません。プライマリ メソッドの下にインデントされているだけです)。ただし、それを呼び出すメソッドが複数あるため、私のサッカー コードでは実行できません。これと同様の質問を見たことがありますが、回答はまだ私のコードに適合していません。グローバル関数は私が探しているもののように思えますが、通常、何かが存在しないというエラーにつながります。できましたメインに一連の命令を追加するだけですが、それは多くの作業と追加したくないコード行であり、かなり見苦しくなります。
したがって、主な問題は... doMath メソッドを組み合わせずに square メソッドを呼び出すにはどうすればよいかということです。
私たちがそれに取り組んでいる間...私は関数ではなくこれらのメソッドを呼び出してきました...私はそれで正しいですか?