- 2018-8-18
- pythonプログラミング, while
- python, whileループ
- 【Python】whileループについてわかりやすく解説 はコメントを受け付けていません
この記事ではPythonにおいて
while文を使ってループさせる記述方法について
わかりやすく解説していきます。
while文を使ってループを記述できるのですが・・・
ループを記述させるものはwhile文以外にも
前回解説したfor文もありますね。
for文ループについてはこちらの記事で詳しく解説しています。
では、for文ループとwhile文ループでは
どういったところが違うのでしょう?
while文は処理を繰り返す回数が決まっていない場合に有効です。
逆に何回処理を繰り返すか、最初から分かっている場合には
for文の方がよいです。
ではこれから詳しくwhile文について解説していきますね。
【Python】whileループの書き方具体例
ではwhile文ループの書き方の具体例に入っていきましょう。
例題1をご覧ください。
#例題1 a = 5 while a < 20: a += 4 print(a)
例題1では変数aの値が
1回while文でループするごとに4ずつ増えていきます。
そして20に達すると条件を満たさなくなるので
while文ループが止まります。
例題1の解説を続けますと、
a = 5
まず変数aに5を代入します。
ここでもし仮に
print(a)
と実行すると
『5』と表示されます。
それから
while a < 20:
whileの横に条件を書きます。
条件として、
a 変数aが20より小さい間という意味です。
それから、条件の後に『:(コロン)』を書きます。
これによって、変数aの値が20より小さい間、
下の処理が続きます。
下の処理というのはこちらです。
a += 4
つまり、変数aの値が20より小さい間は
ひたすら、4ずつ加えられます。
その結果、最初に5+4=9となり
9だとまだ変数が20より小さいので
さらに9+4=13となり、またさらに13に4が加えられ17となります。
17はやはり20より小さいので、
さらに4が加えられます。
その結果、21となります。
21は20より大きいのでここでwhile文ループは終了です。
実行すると
と表示されます。
このように変数aの値が4ずつ増えていって
21で処理が止まります。
こんな感じでahile文ループを利用すると
for文ループみたいに繰り返す回数を指定しなくても
狙った条件に達するまで繰り返し
処理が行われます。
ある条件というのは例題1でいうとここですね。
while a < 20:
変数aが20より小さい間という条件です。
この条件を満たすまでひたすらwhile文ループが
繰り返されます。
ちなみにfor文ループについて詳しく知りたい方は
こちらの記事をご覧ください。
【Python】whileループの書き方具体例その2
例題1が理解できたら
例題2は簡単に理解していただけるでしょう。
例題2は復習みたいなものです。
#例題2 a = 9 while a < 35: a += 6 print(a)
例題2ではまず、
a = 9
変数aに9を代入しています。
それから、
while a < 35:
で、変数aの値が35より小さい間という条件を満たすまで
while文ループが繰り返されるようにしています。
そして、
a += 6
変数aの値が35より小さい間は
ひたすら6が加えられる仕組みになっています。
なので、最初、変数aの値は9なので
9+6=15となります。
15は35より小さい値なので
またwhile文ループが繰り返されますね。
なので15+6=21となり
21+6=27となり、
27+6=33となります。
33もまだ35より小さいので
さらにwhile文ループが繰り返されます。
33+6=39
となった瞬間に変数aの値が35より大きくなったので
ここで条件が満たされ、終了となります。
実行すると、
となります。
例題2が実行されると
15
21
27
33
39
が表示されるわけですね。
【Python】whileループの書き方|絶対にやってはいけないこと
まず大前提として例題3は絶対に
実行しないでください。
ここから先はあくまで自己責任でお願いします。
#例題3 a = 5 while a < 10: print(a)
例題3をみて、
例題1や例題2との違いがわかりますか?
例題3では
while a < 10:
の下に、
例題2のような
a += 6
といった変数aにある数字を加えるような指示が
まったくありませんね。
もし例題3を実行してしまうと
変数aが一生、10より小さい値であり続けるわけです。
book
なので、無限に5という数字が繰り返されてしまいます。
だから絶対に例題3を実行しないでください。
とにかく当方では責任持てないので
よろしくお願いします。
ここで大事なことは
while文ループを実行する際には
必ず、あなたが書いたコードでは
どれくらいの回数ループすれば条件を満たして終了するのか
頭の中で想像するようにしてください。
それでももし、無限ループに陥ってしまった場合
jupyternotebookを使用しているなら
下記画像のようにKernelの『Restart & Clear Output』
をクリックしてください。
そうすれば無限ループ地獄が回避されます。
ちなみにJupyternotebookについては
こちらの記事を参考にしていただけるとうれしいです。
今回はwhile文ループについて学習しました。
while文ループは「何回実行する」といった指定がないので
かえって、扱いが難しくなることがあります。
先ほどの無限ループの危険性だってありますからね。
でも、場合によってwhile文ループはすごく便利でもあります。
それでは以上でwhile文ループについての解説を終わります。
pythonを学ぶならこちらの動画講座がおすすめです
Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学び、実践的なアプリ開発の準備をする
かなり長い講座名ですね。
わかりにくそうな感じがします。ですが、pythonの基礎からしっかりとわかりやすく教えてくれます。
また、きれいなコードを書くための方法についても
教えてくれるので、周りが「どうやってそんなコードを書いてるの?」
とびっくりされるようになるかもしれません。それからWebアプリケーション開発の基本的なテクニックについても
教えてくれます。なので、pythonを使ってwebアプリケーションを作ってみようと
思っている方にもおすすめです。値段は時期によって違います。
詳しくはこちらをご覧ください。
みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習
この講座ではまずpythonの基礎を学びます。
次に人工知能について学んでいきます。そして最終的にはpythonを使って文字認識や株価分析ができるような技術力が身につくようになっています。
単純に教科書的なpythonを学ぶのではなく
仕事でも使えるスキルを身につけたい方におすすめの講座です。なのに値段は恐ろしいほど安いです。
時期によって値段は変動するので
詳しくはこちらをご覧ください。
Pythonで機械学習:scikit-learnで学ぶ識別入門
この動画講座は広島大学准教授の先生が担当しています。
機械学習が専門の先生です。すごく深い知識が身につきます。
大学の先生の講義って難しそうってイメージがあるかもしれません。でもそんなことはありません。
すごくわかりやすいです。pythonで機械学習のスキルを身につけたい方におすすめです。
値段は時期によって違いますが、かなり、良心的な価格になっています。詳しくはこちらをご覧ください。