Pythonの条件分岐とは?if文・else・elifの書き方

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

条件分岐とは

条件によって処理を分けることを条件分岐と言います。分岐の数はプログラムによって異なりますが、何回でも大丈夫です。

その時に使うのがif文です。分岐の数が多くなればelseやelifを使うことになります。

if文の書き方

このようにコロン(:)とインデントで書きます。{コード}の部分が複数行になる場合でもインデントは忘れないようにしましょう。

  • if文やfor文のように複数行で構成されてる分を「複合文」と言う
  • 複合文の1行目(コロンまで)をヘッダー部分と言う
  • ヘッダーに続くインデントされた部分をスイート部分と言う
  • ヘッダーとスイートを合わせた2行以上のコードをと言う
  • 節は2つ以上含まれる場合がある

以下はif文の例です。Xの値が5より大きい場合にOKを表示するプログラムです。一つ目はX=2なので出力結果はなしになっていますが、2つ目はX=10なのでOKが表示されています。

条件が1つの場合はこれでいいかもしれませんが、X=2の場合に何も表示されないので正常にプログラムが動作しているのかがわかりません。

そこでelseを使いましょう。

if-else文の書き方

この例では、Xが5より大きい場合にOKを表示するのは一つ前のプログラムと同じですが、それにelseを追加しています。

elseがあることで「if文で指定した条件以外の場合」の挙動を指定できます。なので、Xが5以下のときはNOを表示すると書いているわけです。

今回はX=2なのでNOが表示されています。

このように条件によって処理を分けることができますが、もっとたくさん分岐を作りたいときはelifを使います。

elifの書き方

この例は一つ目のif文で負の数かどうかを判定して、2、3つ目のelifで偶数と奇数を分けます。X=4なのでもちろんevenが出力されています。

このように複数の条件分岐を考えたいときはelifを使いましょう。elseと異なるところはelifの後ろには条件を書く必要があるところです。

複数の条件を判断するとにきifをたくさん書いてしまうと正しい条件分岐になりらないことがあります。以下がその例です。

この例ではnegativeとoddが同時に出力されています。if文のみで書くとすべての条件を判定することになります

もし、X=-5をelifを使った一つ前のプログラムで実行するとnegativeしか表示されません。

つまり、if文にelifを続けて書くとその中の条件に一つでも当てはまるとそれ以外は無視されます

条件を処理するのは同じですが、どこまでのを一つの条件分岐と見るのかが異なりますのであらかじめ判定したい条件をまとめておきましょう。

まとめ

今回はif文とelse・elifを紹介しました。構文は簡単ですがインデントやコロンを忘れないようにしましょう。

また、条件部分を書くときに演算子(算術演算子・比較演算子)を理解していた方がスムーズにプログラムをかくことができます。

関連記事

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