ノンプログラマーのためのPython学習サイト

Python for文の使い方|ループ処理の基礎〜応用まで

困っている人

  • for文の基本を知りたい
  • for文とif文を組み合わせた条件分岐の方法を知りたい
  • for文の応用的な使い方も教えてほしい
この記事で解決できること
  1. for文の基本が分かる
  2. for文とif文を組み合わせた条件分岐(for文〜if文)が分かる
  3. for文の応用的な使い方(break文・continue文)が分かる

Python|for文とは

for文とは、プログラミングで同じ手順の処理を繰り返し実行する構文の1つです。一般的には、ループ処理と呼ばれています。

例えば、1から100までの数字を順番に出力するなど、大量のデータを処理するのに欠かせないテクニックです。

よく使うテクニックなので、ぜひ覚えておきましょう。

Python|for文の基本

for文の基本は以下のとおりです。[B.繰り返す範囲]はインデント(半角スペース×4)を空けて記述してください。

for [A.カウンタ変数] in [B.繰り返す範囲]:

[C.繰り返し実行したい処理]

[A.カウンタ変数]に[B.繰り返す範囲]から1つずつ順番にデータを代入し、[C.繰り返し実行したい処理]を実行します。

Python|for文の具体例|range(3)

Hello World!」と3回出力するコードを実行

for x in range(3): 
    print('Hello World!')
  1. カウンタ変数(x)に繰り返す範囲(0から2までの数字)のうち、0を代入
  2. 「Hello World!」と出力します→1回目
  3. カウンタ変数(x)に繰り返す範囲(0から2までの数字)のうち、1を代入
  4. 「Hello World!」と出力します→2回目
  5. カウンタ変数(x)に繰り返す範囲(0から2までの数字)のうち、2を代入
  6. 「Hello World!」と出力します→3回目

繰り返す範囲(range(3))には、0から2(最後の数値3からマイナス1した数値)までの値が格納されています。カッコ内の数値を指定することで繰り返す回数をコントロールできます

range関数について

Pythonのfor文に欠かせない、range関数について説明します。

range関数を使うと、連続した数値のかたまり(リスト型のオブジェクト)を作成できます。具体的には、rangeの後のカッコ()に数値を入力することで、下記のとおり3パターンの数値のかたまり(オブジェクト)が作成可能です。

  1. range(3) → [0,1,2]・・・0から2(最後の数値3からマイナス1した数値)までのリストが作成
  2. range(1,5)→ [1,2,3,4]・・・1から5(最後の数値5からマイナス1した数値)までのリストが作成
  3. range(1,10,2)→ [1,3,5,7,9]・・・1から9(最後の数値10からマイナス1した数値)までのリストが作成

Python|for文の具体例|range(1,5)

数値のかたまり(range(1,5))から、順番に数値を出力するコードを実行

for x in range(1,5): 
    print(x)
  1. カウンタ変数(x)に繰り返す範囲(1から4までの数値)のうち、1を代入
  2. カウンタ変数(1)を出力します→1回目
  3. カウンタ変数(x)に繰り返す範囲(0から4までの数値)のうち、2を代入
  4. カウンタ変数(2)と出力します→2回目

range(1,5)には、1から4(最後の数値5からマイナス1した数値)までの数値([1,2,3,4])が格納されています。繰り返す範囲から順番にカウンタ変数(x)に数値が代入され、繰り返し実行(出力)しています。

Python|for文の具体例|range(1,10,2)

数値のかたまり(range(1,10,2))から、順番に数値を出力するコードを実行

for x in range(1,10,2): 
    print(x)
  1. カウンタ変数(x)に繰り返す範囲(1から9までの数値[1,3,5,7,9])のうち、1を代入。
  2. カウンタ変数(1)を出力させます。→1回目
  3. カウンタ変数(x)に繰り返す範囲(1から9までの数値[1,3,5,7,9])のうち、3を代入。
  4. カウンタ変数(3)と出力させます。→2回目

range(1,10,2)は、1から9(最後の数値10からマイナス1した数値)までの2ずつ変化した数値([1,3,5,7,9])が格納されています。繰り返す範囲から1つずつカウンタ変数(x)に代入し、繰り返し実行(出力)しています。

Python|for文 + if文の基本

次にfor文+if文を組み合わせた条件分岐の方法を説明します。for文+if文の基本形は以下のとおりです。

for [A.カウンタ変数] in [B.繰り返す範囲]:

if [C.条件式]:

[D.条件式が成立した時の処理]

  • [A.カウンタ変数]に[B.繰り返す範囲]から、1つずつ順番にデータを代入します
  • [C.条件式]を判定し、成立した時は[D.条件式が成立した時の処理]が実行します
  • 一方、[C.条件式]が成立しなかった時、[D.条件式が成立した時の処理]はスキップします

Python|for文 + if文の具体例

数値のかたまり(range(1,100))から、条件(3より小さい)が成立する時だけ、数値を順番に出力するコードを実行

for x in range(1,100):
    if x<3: print(x)
  1. カウンタ変数(x)に繰り返す範囲(1から99までの数値)のうち、1を代入
  2. 条件式(x<3)を判定します→成立
  3. カウンタ変数(1)を出力します
  4. カウンタ変数(x)に繰り返す範囲(1から99までの数値)のうち、2を代入
  5. 条件式(x<3)を判定します→成立
  6. カウンタ変数(2)を出力します
  7. カウンタ変数(x)に繰り返す範囲(1から99までの数値)のうち、3を代入
  8. 条件式(x<3)を判定します。→不成立(処理が中断)

Python|for文 + if文 + break文の基本

「break」を記述することで、条件式の判定によって処理を中止することができます。for文+if文+break文の基本形は以下のとおりです。

for [A.カウンタ変数] in [B.繰り返す範囲]:

[C.繰り返し実行したい処理]

if [D.条件式]:

break

  • [A.カウンタ変数]に[B.繰り返す範囲]から1つずつ順番にデータを代入し、[C.繰り返し実行したい処理]を実行します。
  • [D.条件式]を判定し、成立した時は「break」を実行します。
  • 一方、[D.条件式]が成立しなかった時、「break」はスキップします。

Python|for文 + if文 + breakの例

数値のかたまり(range(1,5))から数値を順番に出力し、条件(x==2)が成立した時に処理を中断するコードを実行

for x in range(1,5):
    print(x) if x==2:
        break
  1. カウンタ変数(x)に繰り返す範囲(1から5までの数値)のうち、1を代入
  2. カウンタ変数(1)を出力します
  3. 条件式(x==2)を判定します→不成立
  4. カウンタ変数(x)に繰り返す範囲(1から5までの数値)のうち、2を代入
  5. カウンタ変数(2)を出力します
  6. 条件式(x==2)を判定します→成立
  7. 「breal」が実行され、処理が中断

Python|for文 + if文 + continue文の基本

「continue」を記述することで、条件式の判定によって処理をスキップすることができます。for文+if文+continue文の基本形は以下のとおりです。

for [A.カウンタ変数] in [B.繰り返す範囲]:

if [C.条件式]:

continue

[D.繰り返し実行したい処理]

  • [A.カウンタ変数]に[B.繰り返す範囲]から1つずつ順番にデータを代入します
  • [C.条件式]を判定し、成立した時は「continue」を実行します
  • 一方、[C.条件式]が成立しなかった時、[D.繰り返し実行したい処理]を実行します

for文+if文にconinueを記述することで、処理がスキップされます。

Python|for文 + if文 + continue文の具体例

数値のかたまり(range(1,5))から、条件(x==3)が成立した時は処理をスキップ。それ以外の時は数値を順番に出力するコードを実行

for x in range(1,5):
    if x==3:
        continue
    print(x)
  1. カウンタ変数(x)に繰り返す範囲(1から4までの数値)のうち、1を代入
  2. 条件式(x==3)を判定します→不成立
  3. カウンタ変数(1)を出力します
  4. カウンタ変数(x)に繰り返す範囲(1から4までの数値)のうち、2を代入
  5. 条件式(x==3)を判定します→不成立
  6. カウンタ変数(2)を出力します
  7. カウンタ変数(x)に繰り返す範囲(1から4までの数値)のうち、3を代入
  8. 条件式(x==3)を判定します→成立
  9. カウンタ変数(3)の出力はスキップします

Python|for文のまとめ

for文とは、同じ処理を繰り返し実行するときに使用する構文です。大量のデータを処理するのに欠かせないテクニックです。

if文(条件式)と組み合わせることで、条件に一致した処理を効率的に実行できます。

for文はよく使う構文なので、基本をしっかりマスターしてください。