分岐
分岐
分岐は、実行する文を条件により変えます。以下に分岐の簡単なフローチャートを載せてあります。
分岐の書き方
単純な分岐
まずはサンプルプログラムを見ましょう。インデントは空白4つです。
>>> feel = 'sleep' >>> if feel == 'sleep': ... print('Go to bed.') ... else: ... print('Play outside.') ... Go to bed.
- ifという命令を使うことによって「分岐」を行うことができます。
- ifの後ろには「feel == 'sleep'」のように分岐条件を書きます。
- elseの後ろには分岐条件を書きません。分岐条件を書きたい場合はelifを用います。
- 分岐条件がTrueかFalseのチェックは比較演算子などを使います。
- 分岐条件がTrueなら、if以下のブロック(インデントされた部分)の中身が実行されます。
- 分岐条件がFalseなら、else以下のブロックの中身が実行されます。
条件がTrueになるため、if以下のブロックが実行されました。
複数の分岐
上記の分岐は2つでしたが、複数の分岐を行うこともできます。
>>> money = 800 >>> if money >= 1000: ... print('Buy an apple.') ... elif money >= 500: ... print('Buy two orange.') ... elif money >= 300: ... print('Buy one mango.') ... else: ... print('Can\'t buy anything.') ... Buy two orange.
2つ以上の分岐にはelifを用います。elifの後には分岐条件が必要なので注意してください。条件がTrueになるのは、「money >= 500」の部分なので最初のelifの後のブロックが実行されました。条件がTrueになる分岐がいくつかある場合は、先に書いてある分岐が優先されます。
分岐の中の分岐
分岐の中に分岐を作ることもできます。このような構造を入れ子と呼びます。
>>> cat = False >>> dog = True >>> if cat: ... if dog: ... print('cat and dog') ... else: ... print('cat') ... else: ... if dog: ... print('dog') ... else: ... print('None') ... dog
比較演算子
比較演算子をまとめておきます。
演算子 | 意味 |
---|---|
== | 等しい |
!= | 等しくない |
< | より小さい |
=< | 以下 |
> | より大きい |
>= | 以上 |
in | 要素になっている |
inの使い方だけ例に挙げておきます。
>>> pet = ['dog', 'cat', 'pig'] >>> if 'dog' in pet: ... print('Yes') ... else: ... print('No') ... Yes >>> if 'lion' in pet: ... print('Yes') ... else: ... print('No') ... No