今回はPythonのfor文、while文について解説します。
for文とwhile文はループ処理を書く場合に利用するものです。
ループ処理を書き方が分かれば、同じ処理を1万回やらないといけない場合も、たった2行で書くことができます。
ループ処理のやり方は必ず覚えておいて欲しいです。
また、for文とwhile文の違いについても着目しながら、お読み頂けると幸いです。
Pythonのfor文の基本的な使い方
Pythonのfor文を使うことで、同じ処理を繰り返す場合に、数行で書き表すことができます。
たとえば「Hello World」と3回表示する場合、次のように書くと、長くなってしまいます。
print("Hello World")
print("Hello World")
print("Hello World")
for文を使うことで、これを短くできるのです。
それでは、for文の基本的な使い方をみていきましょう。
以下の項目に分けて解説していきます。
- for文で繰り返し処理を行う
- break文で処理を中断させる
- continue文で処理を飛ばす
for文で繰り返し処理を行う
for文は最も基本的な、数字を1からループ処理で出す方法を紹介しましょう。
○コード例
for number in range(7):
print(number)
○実行結果
上記のコードは、0から6まで順番に表示しています。
range関数はfor文とセットで利用します。
「for 変数名 in range(n)」と書くことで、0からn-1までの数値を順番に表示するのです。
これがfor文も最も基本的な使い方です。
今度は、0からではなく、3から表示する方法をみていきましょう。
○コード例
for number in range(3, 7):
print(number)
○実行結果
上記のようにrange(3,7)と書くことで、3から6までに数値を表示できます。
このようにrange関数とfor文を使うことで、数字を順番に表示できるのです。
break文で処理を中断させる
続いて、for文の処理をbreak文で中断させる方法をみていきましょう。
○コード例
for number in range(7):
print(number)
if number == 4:
break
○実行結果
for文の下には、ループ内で処理が書かれています。
printで数値を出力した後、if文で数値が4かどうか、の判定を行っています。
数値が4の場合「break文」によって、処理が中断され、ループから脱出します。
よって、表示が4で止まるのです。
このようにbreak文を使うと、処理を途中で中断させられることを覚えておきましょう。
continue文で処理を飛ばす
つづいてcontinue文を使って、ループ処理を1つ飛ばす方法を解説します。
○コード例
for number in range(7):
if number < 5:
continue
print(number)
○実行結果
if文によって、数値が5より小さいかどうかの判定を行っています。
5より小さい場合、continue文によって、その後のfor文内の処理が飛ばされます。
よって、5より小さい数値がprintによって表示されず、5から表示されるようになっています。
このようにcontinue文を使うと、処理を飛ばすことが可能です。
Pythonのwhile文の基本的な使い方
続いてPythonのwhile文の使い方を紹介します。
while文もfor文同様、ループ処理を書く場合に使います。
ただ、while文とは少し書き方が異なる点に注意しましょう。
以下の項目に分けて、while文の書き方を解説していきます。
- while文で繰り返し処理を行う
- while..else文で繰り返した後の処理を行う
while文で繰り返し処理を行う
while文で先程同様0から7まで表示してみましょう。
○コード例
number = 0
while number < 7:
print(number)
number = number + 1
○実行結果
while文は、numberが7より小さい場合より、while文内の処理を実行させます。
上記ではまずnumberに0が代入されています。
0は7より小さいので、while文の処理が動きます。
printで0が表示され、その後numberは+1され、1に増えました
1は7より小さいので、またwhile文内の処理が動きます。
……このようにwhile文は条件式に当てはまる限り、永遠に処理をループさせます。
while文内でnumberはどんどん増え、やがて7になったとき、条件式に当てはまらなくなるので、処理が終了します。
これがwhile文の基本的な書き方です。
全く同じ処理をfor文で書くと次のようになります。
○コード例
for number in range(7):
print(number)
○実行結果
for文の場合numberの初期化がいらない点と、「number = number + 1」と書かなくても、自動的に増えていくことに注目してください。
このようにfor文とwhile文は書き方が異なるのです。
while..else文で繰り返した後の処理を行う
続いて、while..else文で繰り返した後の処理を書く方法を解説しましょう。
○コード例
number = 0
sum = 0
while number < 7:
sum = sum + number
number = number + 1
else:
print("合計:" + str(sum))
○実行結果
先程同様、while文によって、ループ処理が行われています。
今回はsumという変数が使われています。
sumはwhile文内で、numberの数値の文だけ、どんどん増えています。
ループ処理が終了した後、else文が動き、sumが出力されます。
sumはnumberの数値を合計した値になることを確認してください。
このようにwhile..else文を使うことで、ループ処理終了後の処理を書くことが可能です。
まとめ
本記事ではPythonのfor文、while文について解説しました。
ループ処理の方法がお分かり頂けたかと思います。
for文もwhile文も同じループ処理ですが、書き方が微妙に異なる点に注意しましょう。
ここまでくればあと一歩です。