blog.dopana

Back

おかえりなさい! 🚀 今日は、Pythonロボットに、退屈な繰り返し作業を文句も言わずに何回でもやらせる方法を学びましょう。

学校の先生から、黒板に「授業中にクッキーを食べません」と100回書きなさいと言われたら、手が痛くなっちゃうよね! でも、Pythonロボットなら、100回書くのも1ミリ秒(1000分の1秒)もかかりません。

こんな繰り返しの命令を出すときに使うのが、「ループ(繰り返し)」だよ!

ループってなに?(ジェットコースターの線路)#

ループは、ぐるぐる回るジェットコースターの丸い線路のようなものです。電車は「もう止まっていいよ」という条件になるまで、何周も線路を回り続けます。

graph TD
    Start([ループ開始]) --> Check{カウント < 5?}
    Check -- はい --> Action["'Loop-de-loop!' と表示 🎡"]
    Action --> Add["カウントに 1 を足す"]
    Add --> Check
    Check -- いいえ --> End([ループ終了])

もし、ループをいつ止めるかをロボットに教えてあげないと、ロボットは永遠に回り続けてしまいます。これを 「無限(むげん)ループ」 と呼び、ロボットが暴走しちゃう原因になるから気をつけよう!

1. 回数を決めて繰り返す(for ループ)#

ロボットに繰り返してほしい回数がぴったり決まっているときは、for ループを使います。

ロボットにメッセージを5回表示させてみましょう:

for i in range(5):
    print("Loop-de-loop! 🎡")
python

仕組み:#

  • range(5) は、0, 1, 2, 3, 4 という5つの数字の並びを作ります。
  • i は、今何回目のループかを表す数字を入れておく一時的な箱です。
  • ループが1周するごとに、i に次の数字が入り、文字を表示して、また最初に戻ります。
  • コロン : と、ループの中身のコードの 「4つのスペースの字下げ」 を忘れないでね!

2. 条件が決まるまで繰り返す(while ループ)#

何回繰り返すかは決まっていないけれど、ある条件が「はい」の間はずっと繰り返したいときは、while ループを使います。

例えば、ロボットが走っていて、1歩走るごとにエネルギーが1ずつ減っていくとします:

energy = 3

while energy > 0:
    print("ロボットが1歩走る! 🏃")
    energy = energy - 1  # エネルギーを1使う
    
print("エネルギー切れ!ロボットは休みます。 💤")
python
graph TD
    A[エネルギー = 3] --> B{エネルギー > 0?}
    B -- はい --> C["'ロボットが1歩走る!' と表示"]
    C --> D[エネルギー = エネルギー - 1]
    D --> B
    B -- いいえ --> E["'エネルギー切れ!' と表示"]

ロボットは energy > 0(エネルギーは0より大きいか?)をチェックします。最初は 3 なので走って、エネルギーを 2 に減らして戻ります。これを繰り返してエネルギーが 0 になると、チェック結果が「いいえ」になり、ループから抜け出します!

自分でやってみよう! 🎮#

Pythonの画面を開いて、次のチャレンジに挑戦してね:

  1. 10まで数えよう:for ループと print(i) を使って、ロボットに数を数えさせよう。(ヒント:range(10)0 からスタートします。1 から 10 まで表示させるにはどうすればいいかな? 答え:print(i + 1) にしてみよう!)
  2. 火山から脱出せよ:変数 volcano_distance = 5(火山までの距離)を作ります。while ループを使って、"走って逃げる! 🌋" と表示し、距離を 1 ずつ減らし、距離が 0 になったらループを終わらせるコードを書いてみよう。

次回は、コードをすっきりとまとめる魔法のカスタムボタン、「関数(Functions)」について学ぶよ。これを使えば、いつでも好きなときにコードを再利用できるようになるよ。お楽しみに!

参照#