Pythonの条件分岐に使われるif文の基本的な書き方を紹介していきたいと思います。そもそも条件分岐とは何か?if文を書くときの注意点を見ていきましょう。
条件分岐とは
条件によって処理を分けることを条件分岐と言います。分岐の数はプログラムによって異なりますが、何回でも大丈夫です。
その時に使うのがif文です。分岐の数が多くなればelseやelifを使うことになります。
if文の書き方
1 2 |
if {条件}: {コード} |
このようにコロン(:)とインデントで書きます。{コード}の部分が複数行になる場合でもインデントは忘れないようにしましょう。
- if文やfor文のように複数行で構成されてる分を「複合文」と言う
- 複合文の1行目(コロンまで)をヘッダー部分と言う
- ヘッダーに続くインデントされた部分をスイート部分と言う
- ヘッダーとスイートを合わせた2行以上のコードを節と言う
- 節は2つ以上含まれる場合がある
以下はif文の例です。Xの値が5より大きい場合にOKを表示するプログラムです。一つ目はX=2なので出力結果はなしになっていますが、2つ目はX=10なのでOKが表示されています。
1 2 3 4 5 6 7 8 9 10 11 12 |
X = 2 if X > 5: print('OK') #出力結果なし X = 10 if X > 5: print('OK') #出力結果 OK |
条件が1つの場合はこれでいいかもしれませんが、X=2の場合に何も表示されないので正常にプログラムが動作しているのかがわかりません。
そこでelseを使いましょう。
if-else文の書き方
1 2 3 4 5 6 7 8 |
X = 2 if X > 5: print('OK') else: print('NO') #出力結果 NO |
この例では、Xが5より大きい場合にOKを表示するのは一つ前のプログラムと同じですが、それにelseを追加しています。
elseがあることで「if文で指定した条件以外の場合」の挙動を指定できます。なので、Xが5以下のときはNOを表示すると書いているわけです。
今回はX=2なのでNOが表示されています。
このように条件によって処理を分けることができますが、もっとたくさん分岐を作りたいときはelifを使います。
elifの書き方
1 2 3 4 5 6 7 8 9 10 11 12 13 |
X = 4 if X < 0: print('negative') elif X % 2 == 0: print('even') elif X % 2 != 0: print('odd') #出力結果 even |
この例は一つ目のif文で負の数かどうかを判定して、2、3つ目のelifで偶数と奇数を分けます。X=4なのでもちろんevenが出力されています。
このように複数の条件分岐を考えたいときはelifを使いましょう。elseと異なるところはelifの後ろには条件を書く必要があるところです。
複数の条件を判断するとにきifをたくさん書いてしまうと正しい条件分岐になりらないことがあります。以下がその例です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
X = -5 if X < 0: print('negative') if X % 2 == 0: print('even') if X % 2 != 0: print('odd') #出力結果 negative odd |
この例ではnegativeとoddが同時に出力されています。if文のみで書くとすべての条件を判定することになります。
もし、X=-5をelifを使った一つ前のプログラムで実行するとnegativeしか表示されません。
つまり、if文にelifを続けて書くとその中の条件に一つでも当てはまるとそれ以外は無視されます。
条件を処理するのは同じですが、どこまでのを一つの条件分岐と見るのかが異なりますのであらかじめ判定したい条件をまとめておきましょう。
まとめ
今回はif文とelse・elifを紹介しました。構文は簡単ですがインデントやコロンを忘れないようにしましょう。
また、条件部分を書くときに演算子(算術演算子・比較演算子)を理解していた方がスムーズにプログラムをかくことができます。
- ループ処理とは?for文とwhile文の解説
- while文を使う方法【インクリメントと無限ループ対処法】
- for文の使い方解説(一行・range関数・リスト)
- for文を一行で書く方法と複数行との違い
- for文でrange関数とlen関数を使う方法
- for文でリストのインデックスと要素を取り出す(enumerate)
- for文で辞書のキー・バリューを取り出す方法(enumerate・items・keys・values)
- 条件分岐とは?if文・else・elifの書き方
- for文やif文でpass・break・continueを使う方法
- while文のbreak・else・continue使い方まとめ
プログラミング言語のなかでも人気の高いPythonを学習する教材を紹介します。 最近ではプログラミングスククールがたくさんあるので迷うと思います。 ですが、まずは無料教材から始めてみましょう。苦労した分だけ力がつきます。 […]