解決方法
global変数を使用する際は以下の手順に従って準備を行います。
- コードの最初で宣言します。例:example = 0
- start関数の中で呼び出します。例:global example
- start関数の中で初期化します。例:example = 0
- update関数の中で呼び出します。例:global example
- 実際に使用します。
理由
global変数は、関数の外でも値を保持できる変数です。
マシンの速度やcounterなど、継続して値を使いたいときに使用します。
ただ、関数の外でも値を保持できるため、Autograderなどで連続して異なる条件でコードを動かした際も同じ値を保持してしまいます。
これを防止するため、コードを起動したときに一回だけ動くstart関数内で初期化する必要があります。