【Python入門】while文で反復処理(while,continue,break,else)

Pythonの基礎
スポンサーリンク

初心者の独学でのプログラミング学習はとてもツライ…

プログラミングをマスターしたい!

今のIT業界はプログラミングエンジニアが不足していると言われています。
高収入の職業とも言われる分野もありますし、AI、機械学習、ディープラーニング、IOTといった注目される分野が目白押しです。

でも、いざ初心者がプログラミングをマスターしようとすると…

  • 本を読んだりネットの記事で自力で勉強しているけど限界を感じる
  • プログラミングスクールに定期的に通うのは面倒だ
  • 地方に住んでると家の近くにプログラミングスクールなんてない
  • どのプログラミング言語を学べばいいのか悩む
  • 実際の就職や転職にプログラミングが活かせるのか心配だ

など、プログラミングを自分で勉強しようとすると悩みが尽きません。

プログラミングに詳しい友人に教えてもらおうと思っても、そんな友人なんて滅多にいません。いたとしても細かく教えてくれるほど時間に余裕がある人はいないでしょう。

そんな独学でプログラミングをマスターするのに限界を感じてる方に、オンラインプログラミングスクールをがおすすめです。

おすすめのオンラインスクールはこちら

条件が成立する場合に処理を実行するかどうかで分岐する処理をif文で行いましたが、これはコードが上から順番に処理を判断して終了するプログラミングでした。

今度は、条件が成立する場合に、同じ処理を繰り返す(ループ)という処理をみていきたいと思います。

このように、条件が成り立つ間ループを実行するには、Pythonではwhile文を使います。(反復処理にはPythonでは他にfor文もあります)

スポンサーリンク

while文でループ処理する

whileを使ってループ処理のコードを書いてみましょう。

whileの後ろに条件式を書いて、末尾にコロン(:)を記述します。その行の下にインデントで字下げして、実行する処理をブロックとして記述します。

形としては次のようになります。

これをそのままプログラミングしてしまうと条件式が成立している間は無限ループすることになります。

while文と無限ループ

上の形をそのまま簡単なコードにしてみましょう。

これはここでは実行しませんが、もし実行した場合は延々と「無限に処理がくりかえされます。」の文が繰り返し表示されます。

この無限ループの処理を万が一実行してしまって止めたい場合は、[control] + [C]を押して終了させるなどしましょう。

こういう無限ループにならないように、事前に変数を用意してループカウンタとして利用することで、繰り返し処理を終了させるようにします。(他には終了条件を設定してbreak文を使ったりします)

例として次のようなコードが考えられます。

変数coutをループカウンタとして最初に初期化し、コードを実行したらこのループカウンタを1増加させて先頭に戻るという処理になります。

対話型シェルで実行すると次のようになります。

countは初期値は0です。条件式はcountが10より小さい場合ですから成立するのでprintでcountの値が表示されます。countに1が加えられて先頭に戻り処理が繰り返され、countが10になったところで条件に合わなくなり処理が終了しているということになります。

スポンサーリンク

breakでループの中止

上の例では、0から9まで10回ループ処理が行われました。これを途中で何かの条件によって途中でループを中止したい場合があります。

breakを使うとループ中止して処理を抜けることができるようになります。

上で使ったコードとちょっと変えてみます。

これは同じ処理ですね。表示される処理を数字だけでなく文字列と一緒に表示するようにしています。

実行すると同じように10回表示されるわけですが、これをbreakを使って途中でループを中止したい。

コードを次のように変えてみます。

whileの下に2行の条件文が追加されています。カウントが5を超えたならば、break処理を行うという意味です。

コードを実行してみましょう。(Atomで実行してみます。ファイル名は、while.pyとしています)

ループの処理がカウントが6になったところで中止されているのがわかります。このようにbreakを組み合わせるとループ処理を途中で完全に抜けることができるようになります。

スポンサーリンク

continueで一旦処理を辞めて再度次のループ処理へ

breakでループ処理から完全に抜け出しましたが、抜け出すのではなくその処理だけ行わずに再び繰り返し処理に戻りたい場合があります。

これは、continueを使うことで処理することができます。

上のbreakで使ったコードを次のようにcontinueを組み合わせて変更してみます。

コードの違いがわかるでしょうか。5行目から7行目が付け加えられています。カウントが3の時に処理をやめて先頭に戻ります。この時にカウントを一つ増やして次の処理ができるようにしています。

コードを実行するとこうなります。

breakのコードと比べると、continueで指定したカウントが3のときの処理が行われていないのがわかりますね。continueを組み合わせるとこのように処理をスキップするようなことができるわけです。

スポンサーリンク

elseとbreak

whileのループ処理が終わったら何か別の処理を実行したい場合はelseと組み合わせます。

次のようにelse文を最後に付け加えるだけです。

実行するとこうなります。

ループ処理が終了した後に、else文以下の処理になっているのがわかります。

では次のような場合はどうでしょうか。

breakの入った処理とelseを組み合わせています。breakでループ処理を抜けた場合にelse文の処理は行われるのかどうかということですね。

実行してみるとこうなります。

このようにbreakでループを抜けると、elseでの処理は実行されません。これはbreakは完全にループから抜け出すからです。

これはあまり使わないような処理ですけど、ループ処理をしてもbreak文が実行されない状況になった時などにbreakのチェックとして使ったりするようです。例えば、何かキーワードを探す処理をしたときに見つかった時はbreakし、見つからなかった時はelseで処理をするといったような場合です。

スポンサーリンク

まとめ

Pythonで反復処理をするためのwhileについて学びました。whileに続けて条件文を書き、条件成立時の処理をインデントしたブロックで記述します。

反復処理が無限ループにならないように、ループカウンタを利用して処理を終了します。

breakと組み合わせるとループ処理を中止することができ、continueと組み合わせると処理を一旦スキップして再度反復処理に戻ることができます。

elseと組み合わせるとループ終了後の処理を指定できたり、break処理のチェックに利用できたりします。

自宅学習はオンラインプログラミングスクールを活用!

自宅学習にはオンラインプログラミングスクールがおすすめ!

オンラインプログラミングスクールは独学でプログラミングを学習する時のデメリットを解消する仕組みが備わっています。

気になるところは…

学習がオンラインで完結するのはもちろんですが、独学ではできない質問サポートがあるかどうか。わからないことを現役のエンジニアが質問に答えてくれるといいですよね。

受講者個人に担当のメンターがつき、マンツーマンで学習の相談に乗ってくれることも必要で、ITエンジニアの世界についても伺えたりもすると幅が広がります。

オンライン面談だけでなく、チャット機能を使って気軽に質問を投げかけることができることも大切です。

また、オリジナルプロダクトの開発とサポートがコースの中に組み込まれていて、独学ではなかなか難しい実践的なスキルの習得にもつなげたい。

プログラミングをマスターした後の実際の仕事につながる転職サポートでがあると、ITエンジニアの世界に飛び込むのに不安が解消されます。

そんな豊富なメニューが揃っているおすすめのオンラインプログラミングスクールがこちらにあります。

おすすめのオンラインプログラミングスクールはこちら

TechAcademyはおすすめのオンラインプログラミングスクール!

オンラインのプログラミングスクールでは、テックアカデミーの充実度が目を見張ります。

オンラインで受講が完結するので、自宅学習でプログラミングをマスターしたい人にはテックアカデミーがおすすめです。

メンター制度も現役のプロが対応してくれます。大学生などが対応しているスクールに比べて本気度と専門性が違います。メンター制度の無いスクールもありますし、担当では無いメンターが対応するスクールもあったりするので、相談の質が違いますね。

チャットサポートもあるので、それが無いスクールに比べて相談の気軽さの違いがあります。

プロダクト開発のサポートで実践力が養われるだけでなく、どの講座を利用しても転職サポートが受けられるのはありがたい。

用意されているコースも、初心者向けのプログラミングコースから、Python、Java、PHP、iPhoneアプリ、AndroidといったITエンジニアのベースとなる主要な言語だけでなく、AI、データサイエンス、ブロックチェーン、webアプリケーションと行った実践的なコースまで用意しています。

他にも、webデザインやUI/UXデザイン、動画編集、webディレクションやwebマーケティングといったプログラミング以外での役立つコースまであります。

このようなたくさんの選択肢から自分にあったコースを選ぶことがでるのがテックアカデミーです。

コースの期間も短期間でマスターしたり、長期の受講でじっくり取り組むコースを選ぶこともできます。

複数講座のセットコースを利用することで大幅な割引が受けらるので、お得に受講することもできます。

無料体験もありますので、プログラミング学習でオンラインスクールを考えている人はTechAcademyをぜひ利用してみてください。

テックアカデミーの公式サイトはこちら

Pythonの基礎
スポンサーリンク
CodeGraffitiをフォローする

とにかく進め!Pythonプログラミング入門 〜 コードグラフィティ
タイトルとURLをコピーしました