• WebCamp_インタビュー
    【WebCamp受講生インタビュー】起業準備中にCEOが気がついたプログラミングスキルの重要性とは?
    2017.12.25
  • WebCampPro_インタビュー
    未経験でも寿司職人からWebデザイナーになった!ホスピタリティでスクールを支える宮脇トレーナー
    2017.05.26
  • WebCampPro_インタビュー
    未経験から上京し、エンジニアとしてチームラボグループに転職!【WebCampPro卒業生インタビュー】
    2018.03.10
  • WebCampPro_インタビュー
    自分で稼ぐ力をつけるため、新卒5年目の営業マンがエンジニアに転職!【WebCampPro転職者インタビュー】
    2018.02.02
  • WebCamp_インタビュー
    時間や場所にとらわれず自由に働くために必要なスキルとは?【WebCamp卒業生インタビュー】
    2018.01.26
  • WebCamp_インタビュー
    「自信の持てるスキルを得たい!」内定辞退した女子大生がプログラミングを学習したワケ。
    2018.04.28
  • WebCamp_インタビュー
    「1カ月頑張ればこの先が見えてくる」地元メディアを立ち上げたママさん
    2017.07.20
  • WebCamp_インタビュー
    【卒業生インタビュー】台湾で月間100万UUの訪日旅行メディアを手掛けるCEOが、プログラミングを学んで得たものとは?
    2018.01.15
  • WebCamp_インタビュー
    “未経験”でもたった1ヶ月で営業からエンジニアとして転職!『WebCamp』受講者インタビュー
    2017.10.04
  • WebCamp_インタビュー
    【WebCamp卒業生インタビュー】1ヶ月でRubyをゼロから学び、Webエンジニアとして転職!
    2018.01.15
  • WebCampPro_インタビュー
    未経験31歳からエンジニア転職を実現【実際に聞いてみた】
    2017.04.01

◆当サイトで人気のプログラミング教室のおすすめランキングはこちら!
プログラミングは独学では非効率で、時間を無駄にするリスクがあります。効率的なカリキュラムで学べるスクールを受講しましょう。

Web Camp【業界最安値】1ヶ月集中してプログラミングスキルを身につけられるスクール
1ヶ月通い放題・メンター常駐の教室環境でWebサービス等作りたい方
TechAcademyオンラインで開講しているプログラミングスクール
オンラインでどこでも学べる!/教室に行くのが忙しい人でも安心!
Tech Camp業界最大級!教養としてのITスキルを学べるスクール
Webデザイン/AI(人工知能)/IOS/Androidアプリ制作/VRを学びたい方!
WebCampPro転職保証付き!エンジニアとして転職したい人におすすめ!
未経験からプロのエンジニアを3ヶ月で目指すプログラミングスクールです。
9月生募集中!当社人気の転職保証コース
プログラミング学習から転職成功まで導く、当社人気のWebCamp Proコース。
8月受入枠は満員となっております。9月枠に向け、お早めの申込みをオススメします。
プログラミング未経験でもエンジニア転職を絶対成功させたい
スキルを身に着けて人生を自ら切り開きたい
上記にあてはまる方は、ぜひご検討ください!

【Python】2日間で人工知能(AI)を学習するコースが開校
今回、当社(Web Camp)では、2日間でPythonの基本から機械学習の基礎まで学ぶ短期集中型のコースを開講します。
Pythonの基本的なプログラミング能力を身につけたい方
機械学習や人工知能に興味はあるがなかなか手を出せない方
上記にあてはまる方は、ぜひご参加ください!

※6月以降の開催につきましては、現在未定となっております。


Pythonの中でもプログラミング定番の繰り返し処理があります。

シンプルな繰り返し処理としては、for文もありますが、より条件を指定して繰り返し処理を行う場合は、whileが適しています。

今回は、Pythonのwhileによる繰り返し処理について、解説していきます。

while文とは

for文同様にPython以外のプログラミングでも繰り返し処理で利用されることが多いのが、while文です。

for文についてはこちらの記事で解説しております。

for文との違いについて

それではwhileの記述方法などの解説に入る前に、for文との違いについて、解説しておきます。

実際の多くのwebサイトなどでもその違いについて、解説しているところもありますが、簡単な使い分けはfor文は繰り返し回数が既に決まっている場合に使用します。

それに対して、while文は事前に繰り返し回数が決まっていない場合に使用します。

while文の基本的な使い方について

while文の基本的な記述方法は、下記になります。


while 条件式:

    条件式がTrueの間繰り返す処理

 

指定条件がTrueの間繰り返される

上述のwhileの記述方法について、注意すべきポイントは指定条件がTrueの間繰り返されるところです。

ずっとTrueになる条件式や最初からFalse(意図せずに)になっている条件式の場合は、正常に動作しません。

単純な繰り返しであれば、for文の方が使いやすくおすすめです。

しかし条件式を指定するから対応できる仕様も少なくない為、while文の特徴をしっかりと把握しておかなければいけません。

loop回数を指定する記述

条件式がTrueの間繰り返し処理を実行することは、上記で解説しましたが、while文でloop回数を指定する場合は、下記の様に記述します。


#繰り返し条件式で使用する変数を準備

count_tmp = 1

#準備した変数を条件に5回処理を実行する

while count_tmp <= 5:

    print("繰り返し処理:" + str(count_tmp) + "回目")

    count_tmp += 1

#実行結果

繰り返し処理1回目
繰り返し処理2回目
繰り返し処理3回目
繰り返し処理4回目
繰り返し処理5回目

count_tmpに1を代入し、繰り返し処理を実行する度に1を足していきます。

使用例では5回処理を実行したい為、条件式がTrueの間実行される為、count_tmpが5より大きくなるまで実行されます。

6になった場合、6 <= 5ではないため、処理が終了します。

while文では条件式で繰り返し処理の回数が決まるように調整しなければいけません。

while処理を継続する方法

while文の処理の中で繰り返し処理を一部実行せずに継続して繰り返し処理を行う方法があります。

例えば1から10までの文字を出力する時に、5だけ出力せずに繰り返し処理を行いたい場合などです。

continueの記述方法

上述の様な処理を行う場合は、while文ではcontinueを使用します。

具体的な処理の流れは、continue以降の処理を飛ばしてwhile文の先頭に戻って処理を継続することになります。

基本的な記述方法は、下記になります。


while 条件式:

    if 条件式:

        continue

    繰り返し実行する処理

上記のようにif文とセットで使うことが多く、if文の条件式に該当した場合にcontinueで次の繰り返し処理へ移行される形になります。

 

continueの使用例

それでは実際にcontinueの具体的な使用例について、ご紹介します。


#繰り返し条件式で使用する変数を準備

count_tmp = 0

#準備した変数を条件に5回処理を実行する

while count_tmp < 5:

     count_tmp = count_tmp + 1

     #count_tmpが3の時のみ処理を変更

     if count_tmp == 3:

           #cont_tmpが3の時のみcontinu処理で以降の処理を実行しない

           continue

      print("繰り返し処理:" + str(count_tmp) + "回目")

#実行結果

繰り返し処理:1回目
繰り返し処理:2回目
繰り返し処理:4回目
繰り返し処理:5回目

実行結果から3回目の処理だけprint出力が実行されていないことがわかります。

これはif文の条件分岐でcount_tmpが3の時のみcontinue処理でwhile文の先頭に戻っているからです。

ここで注意する点は、「loop回数を指定する記述」でご紹介した使用例と同じ5回処理を繰り返すにも関わらずwhileの条件式に違いがあります。

(今回は初期値に0を代入していますね)

これはcontinueの為に変数に1を足すタイミングが変更になっている為、条件式を調整しています。

今回の場合、if文の部分はcontinueされないようにしなければ、いつまでも+1されずに、3回目から次にいけません。

while文を使う場合は、繰り返し処理に合わせて条件式の変更が必要になることがあるので、注意しなければいけません。

while処理を抜ける方法

while文にはcontinue以外にも繰り返し処理を制御するbreakがあります。

continueが繰り返し処理の先頭に戻って継続するのに対して、breakは強制的に繰り返し処理の中から抜け出す処理になります。

例えば繰り返し処理の中で特定の条件を満たした場合などに、繰り返し処理をこれ以上行いたくない、または、行う必要がない場合などによく使用されます。

例えば繰り返しの中で想定していない数値が出た場合にbreakでエラー処理をする為に使用されることもあります。

breakの記述方法

while文でbreakを使う場合の基本的な記述方法は、下記になります。


while 条件式:

    if 条件式:

        break

    繰り返し実行する処理

上記のように基本的な記述方法は、continueの時とよく似ています。
実際に使う場合は、if文の前になぜ繰り返し処理を抜けたかなどをprintで出力することも少なくありません。

 

breakの使用例

breakを使った具体的な使用例は、下記になります。


#繰り返し条件式で使用する変数を準備

count_tmp = 0

#準備した変数を条件に想定は10回処理を実行する

while count_tmp < 10:

    count_tmp = count_tmp + 1

    #count_tmpが5の場合処理を中断する条件式を設定

     if count_tmp == 5:

         #cont_tmpが5の時のにbreakでwhile文から抜け出す

         break

     print("繰り返し処理:" + str(count_tmp) + "回目")

#実行結果

繰り返し処理:1回目
繰り返し処理:2回目
繰り返し処理:3回目
繰り返し処理:4回目

実行結果からcount_tmpが5になって以降は、繰り返しのprint出力が実行されずに、while文の繰り返し処理が終了していることがわかります。

混同しやすいですが、continueとbreakの違いや、使い分けを確実に把握しておかなければいけません。

 

while処理後をelseで1度だけ処理を実行

whileの繰り返し処理の最後にelse節で1度だけ処理を実行することができます。

 

elseの記述方法

while文でelse節で最後に1度だけ処理を実行する記述方法は、下記になります。


while 条件式:

    繰り返し実行する処理

else:

    条件式がfalseになった時1度だけ実行する処理

while文の繰り返しに入る前から条件式がfalseの場合でも、1度だけ処理が実行されます。

elseの使用例

それでは具体的なwhile文でelse節の使用例についてご紹介します。


#繰り返し条件式で使用する変数を準備

count_tmp = 1

#準備した変数を条件に5回処理を実行する

while count_tmp <= 5:

    print("繰り返し処理:" + str(count_tmp) + "回目")

    count_tmp += 1

else:

    print("繰り返し処理終了")

#実行結果

繰り返し処理:1回目
繰り返し処理:2回目
繰り返し処理:3回目
繰り返し処理:4回目
繰り返し処理:5回目
繰り返し処理終了

else節の前は「loop回数を指定する記述」でご紹介した使用例と同じになります。

実行結果から最後にelse節の処理が行われていることがわかります。

注意するポイントはbreakと組み合わせて使う場合、breakで繰り返し処理が終了するとelse節は実行されません。

while処理は無限ループに注意

ここまでwhile文について解説してきましたが、while文を使う場合に、初心者がもっとも注意しなければいけないのが無限ループです。

無限ループは、while文の条件式がFalseにならずにループが終わらないことです。

無限ループの例

無限ループになってしまう場合の例は、以下になります。


#繰り返し条件式で使用する変数を準備

count_tmp = 1

#準備した変数を条件に5回処理を実行する

while count_tmp <= 5:

    print("繰り返し処理:" + str(count_tmp) + "回目")

    #条件式の判定になる変数に1を代入してしまい無限ループになる。

    count_tmp = 1

極端な例ですが、コメント部分でも記載している通り条件式の判定に使用する変数に1を代入してしまっている為、条件判定がTrueになり続けてしまい無限ループになってしまいます。

無限ループを回避する対策

無限ループになってしまう可能性がある場合は、上述で解説したbreakを適度にプログラミングコードの中に入れたり、ユーザーが操作できる場合は「Ctrl+C」で無限ループを停止することが可能です。

またVSCodeなどのエディタを使用することで、コーディング時点でエラーとして警告表示してくれます。

まとめ

今回はPythonの繰り返し処理の1つwhileについて解説をしてきましたが、いかがでしたか。

繰り返し処理としてはPythonにはforがありますが、同じ繰り返し処理でも使いどころが違います。

whileの繰り返し処理の記述方法や無限ループに注意して、より効率的なプログラミングが行えるように今回解説した内容を是非習得して頂ければ幸いです。

WebCamp・WebCamp Proについて

WebCampは1ヶ月でプログラミング・Webデザインスキルを学ぶ通い放題のプログラミングスクールです。WebCamp Proは3ヶ月間で未経験から即戦力エンジニアを育成するプログラミングスクールです。

2つのサービスを運営するインフラトップでは、「学びと仕事を通して人生を最高の物語にする」という理念で会社を経営しています。

キャリアアップを目指す方は、この機会に私達と一緒にプログラミングを学んでみませんか?

【Python】2日間で人工知能(AI)を学習するコースが開校
今回、当社(Web Camp)では、2日間でPythonの基本から機械学習の基礎まで学ぶ短期集中型のコースを開講します。
Pythonの基本的なプログラミング能力を身につけたい方
機械学習や人工知能に興味はあるがなかなか手を出せない方
上記にあてはまる方は、ぜひご参加ください!

※6月以降の開催につきましては、現在未定となっております。

8月枠も残りわずか当社人気の転職保証コース
プログラミング学習から転職成功まで導く、当社人気のWebCamp Proコース。
7月受入枠は満員となっております。8月枠に向け、お早めの申込みをオススメします。
プログラミング未経験でもエンジニア転職を絶対成功させたい
スキルを身に着けて人生を自ら切り開きたい
上記にあてはまる方は、ぜひご検討ください!

▼未経験から1ヶ月でWebデザイン・プログラミングを学びたい方はこちら!

▼ついに開講!オンラインでWebデザインを学びたい方はこちら!

関連キーワード
pythonの関連記事
  • 【python入門者向け】おすすめの学習方法
  • 【Python入門】MacでPythonをはじめるまで
  • 【python入門者必見!】1からわかるrange関数の徹底解説
  • 【python入門者必見!】breakの基本と応用を徹底解説
  • 【python入門者必見!】while文を基本から徹底解説
  • 【python入門者必見!】for文による繰り返し処理を解説

当サイトで人気のオススメ転職サービスTOP3

1位 マイナビエージェント×IT

おすすめポイント

・平日忙しい人も、土曜日開催の個別キャリア相談会に参加できる

・職種や仕事内容(要件定義、上流工程から携わる仕事など)の要望が細かくできる
・マイナビの規模を活かした豊富で幅広い求人数

マイナビエージェント×ITの登録はこちら

2位 レバテックキャリア

おすすめポイント

・求人登録数4,000件以上

・エンジニア未経験、経験者両方に対応

・有名企業の採用担当者インタビューがみれる

・一次面接NGからの内定実績もあるほど、内定率が高い

レバテックキャリアの登録はこちら

 3位 type転職エージェント

おすすめポイント

転職者の71%が年収アップ

・IT系企業、特にエンジニアに限らず営業職の求人も充実している

各職種専門の転職アドバイザーが援助

type転職エージェントの登録はこちら

おすすめの記事