Pythonのwhile文をマスターしよう!初心者向け繰り返し処理の完全解説

PRについて
※このサイトはアフィリエイト広告(Amazonアソシエイト含む)を掲載しています。
スポンサーリンク
※このサイトはアフィリエイト広告(Amazonアソシエイト含む)を掲載しています。
Pythonのwhile文をマスターしよう!初心者向け繰り返し処理の完全解説 初心者向け
Pythonのwhile文をマスターしよう!初心者向け繰り返し処理の完全解説
スッキリわかるPython入門

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文といった条件分岐を組み合わせたプログラムに挑戦していきます。

お楽しみに!

このサイトの記事一覧へは以下へアクセス!

Python2年生 デスクトップアプリ開発のしくみ
初心者向け
ゴマフリーダムをフォローする

コメント

達人に学ぶDB設計 徹底指南書

最短コースでわかる ディープラーニングの数学

あたらしい機械学習の教科書 第3版

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

タイトルとURLをコピーしました