困っている人
- for文の基本を知りたい
- for文とif文を組み合わせた条件分岐の方法を知りたい
- for文の応用的な使い方も教えてほしい
- for文の基本が分かる
- for文とif文を組み合わせた条件分岐(for文〜if文)が分かる
- 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!')
- カウンタ変数(x)に繰り返す範囲(0から2までの数字)のうち、0を代入
- 「Hello World!」と出力します→1回目
- カウンタ変数(x)に繰り返す範囲(0から2までの数字)のうち、1を代入
- 「Hello World!」と出力します→2回目
- カウンタ変数(x)に繰り返す範囲(0から2までの数字)のうち、2を代入
- 「Hello World!」と出力します→3回目
繰り返す範囲(range(3))には、0から2(最後の数値3からマイナス1した数値)までの値が格納されています。カッコ内の数値を指定することで繰り返す回数をコントロールできます。
range関数について
Pythonのfor文に欠かせない、range関数について説明します。
range関数を使うと、連続した数値のかたまり(リスト型のオブジェクト)を作成できます。具体的には、rangeの後のカッコ()に数値を入力することで、下記のとおり3パターンの数値のかたまり(オブジェクト)が作成可能です。
- range(3) → [0,1,2]・・・0から2(最後の数値3からマイナス1した数値)までのリストが作成
- range(1,5)→ [1,2,3,4]・・・1から5(最後の数値5からマイナス1した数値)までのリストが作成
- 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)
- カウンタ変数(x)に繰り返す範囲(1から4までの数値)のうち、1を代入
- カウンタ変数(1)を出力します→1回目
- カウンタ変数(x)に繰り返す範囲(0から4までの数値)のうち、2を代入
- カウンタ変数(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)
- カウンタ変数(x)に繰り返す範囲(1から9までの数値[1,3,5,7,9])のうち、1を代入。
- カウンタ変数(1)を出力させます。→1回目
- カウンタ変数(x)に繰り返す範囲(1から9までの数値[1,3,5,7,9])のうち、3を代入。
- カウンタ変数(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)
- カウンタ変数(x)に繰り返す範囲(1から99までの数値)のうち、1を代入
- 条件式(x<3)を判定します→成立
- カウンタ変数(1)を出力します
- カウンタ変数(x)に繰り返す範囲(1から99までの数値)のうち、2を代入
- 条件式(x<3)を判定します→成立
- カウンタ変数(2)を出力します
- カウンタ変数(x)に繰り返す範囲(1から99までの数値)のうち、3を代入
- 条件式(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
- カウンタ変数(x)に繰り返す範囲(1から5までの数値)のうち、1を代入
- カウンタ変数(1)を出力します
- 条件式(x==2)を判定します→不成立
- カウンタ変数(x)に繰り返す範囲(1から5までの数値)のうち、2を代入
- カウンタ変数(2)を出力します
- 条件式(x==2)を判定します→成立
- 「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)
- カウンタ変数(x)に繰り返す範囲(1から4までの数値)のうち、1を代入
- 条件式(x==3)を判定します→不成立
- カウンタ変数(1)を出力します
- カウンタ変数(x)に繰り返す範囲(1から4までの数値)のうち、2を代入
- 条件式(x==3)を判定します→不成立
- カウンタ変数(2)を出力します
- カウンタ変数(x)に繰り返す範囲(1から4までの数値)のうち、3を代入
- 条件式(x==3)を判定します→成立
- カウンタ変数(3)の出力はスキップします
Python|for文のまとめ
for文とは、同じ処理を繰り返し実行するときに使用する構文です。大量のデータを処理するのに欠かせないテクニックです。
if文(条件式)と組み合わせることで、条件に一致した処理を効率的に実行できます。
for文はよく使う構文なので、基本をしっかりマスターしてください。