【Python】繰り返し処理(while編)

今回は繰り返し処理についての記事です。

繰り返し処理はループとも言われ、条件分岐(if文)と並び、非常に重要なメソッドになります。

MEMO
「メソッド」は処理のことです。

for文との違い

for文は、イテラブルオブジェクトの数だけ繰り返す処理でした。

for文を見たい方はこちらへ。
【 Python 】繰り返し処理(for文編)

例えば、range(10)なら0~9までを変数に入れ、10回同じ処理をする。

これが配列指定なら、配列の数だけ同じ処理をする。といったような。

for文とwhile分では、if文の要素も混じっていることが大きな違いと言えます。

実際に試してみましょう

i = 0

while i < 3:
    
    print (i)

    i += 1

print ("end")

結果は以下の通り表示されます。


0
1
2
end

1週目は、変数iの値は0です。

変数iの値は0ですので、当然3よりも小さいため、変数iを表示し、変数iに1加算されます。

ここでインデントが終了しますので、whileの条件へ差し戻されます。

差し戻された変数iの値は1ですので再度インデント内へ。

1を表示したあと、変数iは1を加算され、変数iの値は2になりました。

ここでインデント終了し、whileの条件に差し戻し。

変数iは2なので、再度インデント内へ。

2を表示したあと、変数iは1を加算され、変数iの値は3になります。

インデントが終了し、再度whileの条件に差し戻されます。

変数iの値が3になったことで、ようやく i < 3という条件式から抜け出すことになり、最後の行の"end"を表示します。

このプログラムで言うと、変数iが3未満なら繰り返すだけです。

この条件式を色々納得行くまで触ると挙動が見えてくるはずです!

while文

while 条件式:
メソッド
MEMO
難しく考えずに「条件を満たす間は繰り返す」と覚えてしまえばいいのだ!

無限ループ

注意
無限ループは「CTRLキーとc」を押せば止まるよ!

以下は無限ループのプログラムです。


i = 0

while i != -1:
    
    print (i)

    i += 1

print ("end")

繰り返し処理をすると、無限ループを起こすことがあります。

このプログラムのように、printで表示されていれば、どこが違うのかわかりやすいため、無限ループになって「おかしいな」と思ったら、表示させてみることをオススメします。

最後に

while文、非常に便利です。

というか、Pythonではif文、for文、while文さえ理解してしまえば、あとはオブジェクトをどこから引っ張ってくるか、for文やwhile文で出来上がったオブジェクトをどこに渡すかが重要になります。

他にも、もっと応用を利かせた使い方もあります。

それはまた応用の記事に載せたいと思います。

最後までお読みいただきありがとうございました!