Kodokon kodokon.com

ループ:for、while、break、continue

forとwhileで命令を繰り返し、range、break、continueでループを制御しましょう。

8 分 · 3 問

このレッスンを Kodokon で開く

ループとは、命令のブロックを、書き写し直すことなく何度も繰り返すものです。forループは、あらかじめわかっている回数だけ繰り返します。数の並びを生み出す関数rangeとよく一緒に使われます。range(5)は0、1、2、3、4を与えます(0から始まり、終わりの境界は含まれません)。ifと同じく、行は:で終わり、繰り返されるブロックはスペース4つでインデントします。

PYTHON
for number in range(5):
    print(number)
0から4までの数を一行ずつ表示する。

rangeは開始の値も受け取ります。range(1, 6)は1、2、3、4、5を与えます。whileループは条件が真である限りブロックを繰り返します。何回まわるか事前にわからないときに使います。注意してください。ブロックが条件を変化させなければ、ループは決して止まりません。

PYTHON
countdown = 3
while countdown > 0:
    print(countdown)
    countdown = countdown - 1
print("Go!")
3、2、1、そして"Go!"と表示される。countdownは各回ごとに減っていく。

二つのキーワードがループを内側から制御させてくれます。breakはループからすぐに抜け出しcontinueはブロックの残りを実行せずに次の回へ飛びます。下の例では、%は割り算の余りを与えます。したがってnumber % 2 == 0は数が偶数かどうかをテストします。

PYTHON
for number in range(10):
    if number == 5:
        break
    if number % 2 == 0:
        continue
    print(number)
1、次に3と表示される。偶数は飛ばされ、ループは5で止まる。

理解度チェック

このレッスンの要点をしっかり覚えているか確認しましょう。

  1. for i in range(3):のブロックは何回実行されますか?
    • 2回
    • 3回
    • 4回
  2. ループの中でbreakキーワードは何をしますか?
    • ループを一時停止する
    • すぐにループから抜け出す
    • ループを最初からやり直す
    • 次の回へ進む
  3. whileの条件が永遠に真のままだとどうなりますか?
    • ループが決して止まらない
    • Pythonが自動でプログラムを直してくれる
    • ループは一度だけ実行される