Python開発コース
チャプター
>
レベル

条件
break文とcontinue文

目的

ループ条件を用いて、建物間の通路に生えている雑草を取り除こう。

建物間の通路には雑草が生えています。ループを使って全ての雑草を集めて捨ててください。ループ条件を利用することで、このプロセスを自動化する方法があります。

bag という変数を作成し、雑草を拾う際にその変数に保存します。条件付きの while ループを使用してプロセスを自動化します。雑草は全部で 10 個あります。

while True: player.move_forward() bag += 1 if bag == 10: break

while ループを True に設定することで、break オペレーターが使われてループが終了されるまで、ループは終わりません。各ループサイクルで雑草を袋に追加し、何個の雑草が拾われたかを確認してループを終了するかどうか判断します。if 文は、ループを終了するべきかどうかを判断するために使用され、bag に入った雑草の数をチェックし、所定の数に達した場合にループを終了します。

通路を進んだ後、for ループを使って place() 関数で雑草を容器に投棄します。各コンテナの位置には X マークがあり、容器間のステップ数は、間に隙間があるため均一ではありません。continue オペレーターを使用することで、if 文で条件をテストし、そのループサイクルをスキップできます。

for x in range(3): player.move_forward() if x == 1: continue player.turn_right() player.place(bag/2) player.turn_left()

上記のコードでは、if 文がループサイクルの回数である x1 であるかどうかを確認しています。この for ループは、range() で定義された通り 3 回(x が 0, 1, 2 の順)実行されます。ループサイクルが 1 の場合、continue によってそのサイクル内のコードは実行されず、スキップされます。これにより、中央のサイクルをスキップして、2 つの容器間の隙間を避けることができます。

容器が 2 つあるので、bag 変数に保存された雑草を合計の半分に分けて、place() 関数を使用して投棄します。例: player.place(bag/2)

雑草を集め、適切な場所に配置したら、星印で示された出口に到達してレベルをクリアしてください。

コードブック