if・else・elif文について学んでいきましょう。
if文
まずはif文からです。
if文は条件によって実行するプログラム(コード)をかえる時に使います。
普段の生活でもよく使いますよね。例えば、
補足株価が昨日の数字よりも5%以上下がっていれば買い増す。
そうでなければ売る。
といったことも、if文による条件分岐です。
なお、if文の判定にはTrueとFalseが使われますが、TrueとFalseについてしっかりと理解したい方は、True・False・Noneという記事を参考にして下さい。
一言で言うと、if文は条件がTrueかどうかをチェックするために使われます。
具体的なコードを見た方がイメージがわきやすいと思いますので、実際にコードを見てみましょう。
コードa = 2
if a > 1:
print('a is more than 1')
上記の文章は、a>1という条件がTrueであれば、その下のコードを実行する。という意味です。
ここでaは2、つまり1よりも大きいですので、if文の下のコードが実行され、ディスプレイにa is more than 1という文章が表示されることになります。
else文
また、If文の条件に合致しなかった場合に何か処理をしたい場合は、else文を使います。
a = 2
if a < 1:
print('a is less than 1')
else:
print('a is more than 1')
[/python]変数aは2ですから、a<1(つまり2<1)は成り立ちません。
結果としてa<1は「False」になります(Trueではない)ので、if文の下のコードは実行されず、else以下のプログラム(コード)が実行されます。
複雑な条件判定方法
if文の使い方になれていくために、少し複雑な条件分岐をみていきましょう。
コードif 1 < a and a < 10:
すこしややこしいですが、このような条件分岐も可能です。
Pythonは、演算子を実行する優先順位をあらかじめ決めていますので、その優先順位にしたがって演算が実行されるのです。
具体的な優先順位については演算の優先順位という記事を参考にして下さい。
実際は、かっこを使うことが多い
ただ、上記のようなコードは読みづらいですので、かっこを使ってこのように書くことが一般的です。
コードif (a < a) and (a <10):
さらに複雑な条件分岐を紹介します。このような条件分岐ももちろん可能です。
コードif 1 < a and not a > 10 or a = 8
どれだけ長くても、最終的な結果がTrueであればif文の下のコードが実行される、ということを頭に入れておきましょう。
elif
次に、elif文をみていきましょう。
elif文は、if文とelse文の間に入るイメージです、
つまり、elif文は複数の条件分岐を適用したい時に使います。
日常生活でもelif文は良く使われます。具体的にはこのようなイメージです。
補足気温が30度以上であれば、半袖を着る(if文)
気温が20度以上であれば、長袖を着る(elif文)
気温が10度以上であれば、上着を着る(elif文)
気温が10度以上であれば、コートを着る(else文)
実際にコードを書いてみましょう。
コードif temp >= 30:
print('short Tshirt')
elif temp >= 20:
print('ling Tshirt')
elif temp >= 10:
print('jacket')
elif temp >= 0:
print('coat')
ある情報が入った場合、上から順番に条件に合うかの判断が行われていき、Trueとなった場合にその下のコードを実行し、if文のブロックを抜ける。という流れです。
そして、複数の条件がある場合に、最初のif文と最後のelse文の間に入るのがelif文です。
If・elif・else文のまとめ
(1) Ifとeilfは、Trueの場合に次の行のコードが実行される
(2) elseはifかelif文がTrueでなかった場合に実行される
(3) 複雑な条件分岐をさせる場合は、かっこを使うことが一般的
If・elif・else文を学んだ後は
条件分岐と似た繰り返し文の基礎であるfor文を学んでいきましょう。