初心者のためのpython入門

自分がつまづいたところやつまづきやすいところを中心に書いていきます。また、役に立つライブラリの紹介などをしていきます。

分岐

分岐

分岐は、実行する文を条件により変えます。以下に分岐の簡単なフローチャートを載せてあります。

f:id:tiginkgo:20171203003329p:plain:w300

分岐の書き方

単純な分岐

まずはサンプルプログラムを見ましょう。インデントは空白4つです。

>>> feel = 'sleep'
>>> if feel == 'sleep':
...     print('Go to bed.')
... else:
...     print('Play outside.')
... 
Go to bed.
  1. ifという命令を使うことによって「分岐」を行うことができます。
  2. ifの後ろには「feel == 'sleep'」のように分岐条件を書きます。
  3. elseの後ろには分岐条件を書きません。分岐条件を書きたい場合はelifを用います。
  4. 分岐条件がTrueかFalseのチェックは比較演算子などを使います。
  5. 分岐条件がTrueなら、if以下のブロック(インデントされた部分)の中身が実行されます。
  6. 分岐条件が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