Pythonプログラミング初心者に向けて、whileによる繰り返し処理について解説します。
whileや繰り返し処理は今回はじめて用いるものですね。
一体どういったものなんですか?
プログラミングにおいては、以前学習した条件分岐処理と並んでよく用いられるのが「繰り返し処理」なんです。
条件分岐処理にはifやelse,elifなどを用いましたが、繰り返し処理にはforや今回説明するwhileを用います。
プログラミングにおいて「○○を100回実行する」といった複数回実行する処理を繰り返し処理といいます。
Pythonでは、繰り返し処理を行うためにfor
文やwhile
文を用います。
この記事では、while
文を用いた繰り返し処理の基本を解説していきます。
初心者の方でもわかりやすく、具体的なプログラムの例を交えて解説します。
また、記事の最後には確認問題を用意していますので、学んだ内容の復習に利用していただければと思います!
while文の構文
while
文は以下のような構文で用いられます。
while 条件式:
# 条件がTrueの間、実行する処理
while
の後に続く条件式がTrueとなっている限り、インデント部分の処理が繰り返し実行されます。
while文の例
それでは具体的なプログラム例を見ながら、while
文の動作を理解しましょう。
count = 0
while count < 3:
print("アザラシの数:", count, "匹")
count += 1
# 実行結果
# アザラシの数: 0 匹
# アザラシの数: 1 匹
# アザラシの数: 2 匹
この例では、count
という変数を0で初期化し、while
文での繰り返し処理を行っています。
while文の条件式からcount
が3未満の場合、print
文が実行され、count
の値が1増加します。
このため、最初は「アザラシの数: 0 匹」と出力されて、count=1
となります。count
が3未満であるので、while文内の処理がもう一度繰り返されます。
そのため、次に「アザラシの数: 1 匹」と出力されて、count=2
となります。
同様にcount
が3未満であるので、while文内の処理がもう一度繰り返されます。
そのため、次に「アザラシの数: 2 匹」と出力されて、count=3
となります。
ここで、count=3
となるとwhile文の条件式がFalseとなるのでwhile文の処理は停止します。
同じような処理を繰り返したいときにはwhile文のような方法があったんですね!
繰り返したい処理では積極的に使っていこうと思います。
while文を使った繰り返し処理のありがたみがわかってもらえたようでうれしいです!
コンピュータは嫌がらないで何回でも繰り返し処理をしてくれるので、手作業だと大変だと感じるようなこともプログラム化することで手間を減らせるんです。
while文の使い方について理解いただけたでしょうか?
それでは続けてwhile文を使う上での注意点を述べていきます。
while文の注意点!無限ループの回避
while
文を使用する際には、条件式が常にTrueとならないように注意してください。
常にTrueとなる条件を書くと、無限ループ(繰り返し処理が永遠に実行される状態)が発生します。
以下のコードは無限ループとなってしまう例です。
実行しないでください!!!
############################
# 実行しないでください!! #
############################
i = 0
while i < 5:
print(i)
while文の条件式において、iが5未満の場合に繰り返し処理が行われます。
条件式がTrueとなる限り、iの値を出力し続けるようになっていますが、肝心の変数iは更新されておらず、while文の繰り返し処理を何度行ってもi=0
のままです。
このため、while文の条件式は常にTrueとなってしまうので、永遠にwhile文の内容が実行されてしまいます。
無限ループに陥ってしまったら、Jupyter NotebookやGoogle Colaboratoryだと停止ボタン(■)を押して実行を停止いただくか、最悪の場合はツールの起動しなおしが必要です。
上記のプログラムを無限ループしないように書き換えると以下のようになります。
i = 0
while i < 5:
print(i)
i += 1 #条件式が更新されるように追加
# 実行結果
# 0
# 1
# 2
# 3
# 4
while文の中で条件式がきちんと更新されていくように書かないといけないんですね!
無限ループ..うっかりミスしてしまいそうで怖いです..
パソコンが壊れるといったことは起きないから大丈夫ですよ!
ただし、Jupyter NotebookやGoogle colaboratoryといったツールで無限ループに陥ると書いたプログラムが正しいはずなのにツールがうまく動かないといった勘違いをよくするから注意してほしいです!
最後に確認問題を解いて今回学んだwhile文に慣れていきましょう!
繰り返し処理はぜひ書けるようにしてほしいので、問題をたくさん用意していますのでチャレンジしてみてください!
確認問題
①while文を用いて「"アザラシは可愛い!"」と3回出力してください。
#出力結果
アザラシは可愛い!
アザラシは可愛い!
アザラシは可愛い!
②while文を用いて「"ごまおはお昼寝"」「"ごまこはおやつ"」と2回ずつ出力してください。
#出力結果
ごまおはお昼寝
ごまこはおやつ
ごまおはお昼寝
ごまこはおやつ
③while文を用いて0から5までの整数を出力してください。
#出力結果
0
1
2
3
4
5
④while文を用いて0,2,4,6と出力してください。
#出力結果
0
2
4
6
確認問題 解答例
#①while文を用いて「"アザラシは可愛い!"」と3回出力
i = 0
while i < 3:
print("アザラシは可愛い!")
i += 1
# 実行結果
# アザラシは可愛い!
# アザラシは可愛い!
# アザラシは可愛い!
#②while文を用いて「"ごまおはお昼寝"」「"ごまこはおやつ"」と2回ずつ出力
i = 0
while i < 2:
print("ごまおはお昼寝")
print("ごまこはおやつ")
i += 1
# 実行結果
# ごまおはお昼寝
# ごまこはおやつ
# ごまおはお昼寝
# ごまこはおやつ
#③while文を用いて0から5までの整数を出力
count = 0
while count < 6:
print(count)
count += 1
# 実行結果
# 0
# 1
# 2
# 3
# 4
# 5
#④while文を用いて0,2,4,6と出力
m = 0
while m < 7:
print(m)
m += 2
# 実行結果
# 0
# 2
# 4
# 6
④の問題についてはif文と組み合わせる方法もありますが、次回の記事でwhile文とif文を組み合わせたプログラムについてふれていきますので、その中で解説していきます。
上記の回答方法でも理解していただけるととても良いです!
まとめ
この記事では、Pythonのwhile
文の基本について解説しました。while
文は、条件式がTrueである限り、繰り返し処理を実行します。while
文を適切に使用することで、条件に応じた繰り返し処理を実現できます!
無限ループに注意しながら、while
文を活用して効果的なプログラムを作成できるようになりましょう!
次回はwhile
文とif
文といった条件分岐を組み合わせたプログラムに挑戦していきます。
お楽しみに!
このサイトの記事一覧へは以下へアクセス!
コメント