【Python初心者】ループ②(whileループ・break)

こんにちは。

おぎーです。

この記事では、whileループとbreakについて初心者目線で優しく解説しています。

それでは早速学習を進めていきましょう。

Google Colaboratoryを開いてください。

インストールしていない方はこちらの記事を参考にインストールしましょう。

Google ColaboratoryでPythonを始めよう!

 

whileループ

前回はforを使って反復処理をするコードを学びましたが、今回はwhileを使用します。

whileを使用して反復処理するときは、次のような構文となります。

#このコードは実行できません
while [式] :
  [コードブロック]

この構文では、[式]がありますね。

whileを使用した反復処理は、この[式]がTrueとコンピュータが認識している間はずっと行われます。

[コードブロック]では反復処理したい内容のコードを記します。

さて、ここでwhileループを使用したコードの例を見てみましょう。

x = 5
while x > 0:
  print('{}'.format(x))
  x -= 1
print("こんにちは")

このコードでは、まずxに5という値を代入し、

次にwhileループを定義して、その式はx > 0 としています。

すなわち、x > 0であればずっとTrueで評価され続けるというわけです。

次の行では、formatメソッドを使用してxの値を出力します。

formatメソッドでは、シングルクォーテーションで囲まれた波カッコと、

formatの次に丸カッコで囲んだ値を置き換えます。

すなわち、このコードではxの値が波カッコと置き換わって出力されるということです。

そして、次の行で、xの値がデクリメントされます。

すなわち、5が4になったというわけですね。

ここまでがコードブロックで、ここまでのコードが繰り返されるというわけです。

whileループを繰り返す条件は、x > 0でしたから、

デクリメントができなくなるのは、x = 1のときですね。

x = 0は式の条件を満たしておらず、Falseと評価されるからです。

Falseと評価された時点で、コードブロック内の処理はストップします。

そして、次の行の処理へいき、

こんにちはという文字列が出力されます。

したがって出力結果は、

5
4
3
2
1
こんにちは

となります。

今回の例ではせっかくメソッドが出てきたので、メソッドの使い方等、一度このタイミングで復習しておきましょう。

Pengさんの記事でわかりやすくメソッドについて解説されているので、おすすめです。

ぜひ参考にしてください。

【Python初心者】文字列操作の方法 - 便利なメソッド① -

【Python初心者】文字列操作の方法 -便利なメソッド②-

whileループでは、式で条件を指定し、Trueと評価されれば反復処理を行いますが、その式が永遠にTrueと評価され続ける可能性もあります。

このような場合は、コードが終了しないので無限ループと言われています。

以前、Trueも立派な値であることは過去に学習したと思います。

【Python初心者】インデントの重要性・キーワード・データ型

whileループにおける式には、Trueと値を入力すれば、もれなく無限ループの完成です。

こちらのコードの例をご覧ください。

while True:
  print("北斗百裂拳")

こちらはコンピュータが壊れない限り永遠に北斗百裂拳を出力し続けるコードです。

勇気のある方はぜひ出力してpythonの恐ろしさを感じてください。

break

ここまで学習してきたらふと疑問に思うことがあると思います。

反復処理止める方法はないんですか、と。

もちろん存在します。

自分が反復処理を止めたいタイミングで止めることができます。

止めるために必要なキーワードが、

breakです。

実際にbreakを使用したコードを見てみましょう。

while True:
  print("北斗百裂拳")
  break

さて、このコードを出力してみてください。

出力されたのは北斗百裂拳1行のみではないですか?

そうです。

コードブロックの最後の行にbreakを入力することによって、

コードブロックの処理を1回のみにすることができるのです。

無限に北斗百裂拳を食らう直前に、

breakしておけば、

1発のみに抑えることができます。

まとめ

本日の内容は以上です。

ここまで学習すると、次の記事の内容がよくわかると思うのでぜひ読んでみてください。

6月3日勉強会 ② ~ 多重forループを抜ける方法 ~

こちらの記事は、私たちが勉強会で議論した結果をまとめたものとなっています。

Pengさんが丁寧に記事を書いたので、大変分かりやすいと思います。

分からないことがあれば、連絡ください。

今回のコードはGitHubの方に載せておきますので、

ぜひ活用してください。

【Python】ループ②(whileループ・break)

GitHubでの閲覧方法は次の記事を参考にしてください。

【プログラミング初心者向け】GitHubって何?

30秒クッキング~一瞬でPythonを始める裏技~

それではまた次回お会いしましょう。

おぎー

“【Python初心者】ループ②(whileループ・break)” への1件の返信

コメントを残す

メールアドレスが公開されることはありません。