Pythonでwhile文を使う方法【インクリメントと無限ループ対処法】

Pythonで条件付きループ処理を行うために使うwhile文の使い方解説です。どのように書けば正しく動作するのかから説明しています。

また、while文でよく使うインクリメントする方法や万が一無限ループに陥ってしまったときの対処法も紹介しています。

while文とは

定義

while文とは条件付きループ処理ができる構文です。指定した条件文が真(True)の場合は常に処理が事項されます。そして、条件式が偽(Falese)になったら止まります。

もし、条件文を常に真になるようなものにしてしまうと一生終わらないプログラムになってしまいます。これを無限ループと言います。

while文はfor文とif文が合わさったものというイメージが分かりやすいですね。

関連記事

Pythonのループ処理に使われる構文にはfor文とwhile文があります。今回はそのfor文の使い方解説をしていきます。 for文とは for文はループ処理を行う構文です。Pythonで書く場合はコロン(:)とインデントに注[…]

関連記事

Pythonの条件分岐に使われるif文の基本的な書き方を紹介していきたいと思います。そもそも条件分岐とは何か?if文を書くときの注意点を見ていきましょう。 条件分岐とは 条件によって処理を分けることを条件分岐と言います。分岐の[…]

書き方

  • 「while {条件文}:」を1行目に書く
  • 2行目以降にインデントして処理文を書く

num変数の値が5未満のときに出力するプログラムです。なので「num=5」になったらプログラムは止まります。

4行目に書かれている「num = num + 1」はインクリメントと言われます。この部分は下で詳しく解説します。

ここで紹介したwhile文をfor文とif文で書いてみると以下のようになります。while文だけの方がコンパクトですね。

このプログラムでも5行目にインクリメントが行われています。インクリメントとは何なのかを見ていきましょう。

インクリメントとは

インクリメントとは変数の値を1増やすことを言います。while文ではよく使う手法です。書き方は以下のように2通りあります。また、値を減少させていくこともできます。

このインクリメントを使うと奇数だけや偶数だけ、ある数の倍数だけなどの出力もできます。

非常に便利なインクリメントですが、これを使わないとどうなるのか見てみましょう。

無限ループの対処法

インクリメントを使わないとwhile文のループが終わりません。つまり、無限ループになってしまいます。

上の例ではインクリメントの行をコメントアウトしているのでnum変数の値は0のままです。なので「num<10」という条件文が常に真となって処理が終わらなないのです。

このように無限ループになってしまったら「Ctrrl+C」で脱出しましょう。これは強制終了のコマンドです。

このコマンドを押すと「KeyboardInterrupt」と表示されてプログラムが止まります。困ったときに使ってみてください。

まとめ

  • while文は条件付きループ処理
    • コロン(:)とインデントで書く
  • インクリメントとは変数の値を増加させること
    • 減らすことも可能
  • 無限ループは「Ctrrl+C」で脱出

関連記事

プログラミング言語のなかでも人気の高いPythonを学習する教材を紹介します。 最近ではプログラミングスククールがたくさんあるので迷うと思います。 ですが、まずは無料教材から始めてみましょう。苦労した分だけ力がつきます。 […]