【スタラボPython道場①】if文の条件分岐を覚えよう!

最初に覚える基礎構文はたったの二つ

どんなに複雑な処理でも、そのプログラムは「分岐」「反復」で成り立っています。つまり、その二つの構文をしっかりと覚えれば、簡単なプログラムが作れてしまうのです。実際にはオブジェクト指向が…とか、より効率的に…とか、ライブラリを使って…など色々と考慮すべきことが増えていきますが、初学者は難しいことを考える前に基礎を固めましょう。基本構文や変数の考え方は、数多くのプログラム言語で共通しているので、一度覚えてしまえば、他の言語を覚える際にも役立ちます。

それでは今回は、「分岐」の構文である「if文」を学んでいきましょう!

条件分岐のif文

「if文」とは、もし~だったら・・をする という処理をするための構文です。構文は条件式と条件式が真だった場合の処理で構成されます。実際のプログラムで見てみましょう。

以下は「もし変数aが10以下であったら、変数aの値を表示する」と指定したコードです。

if a >= 10:
    print(a)

Pythonでは、スコープ(有効範囲)を管理するためのインデントが重要です。実行されるのはインデント(処理の前に空白を4つ)の範囲だけなので注意しましょう。

分岐を複雑にすると、プログラムを使ってコンピュータに複雑な命令をすることができるようになります。

複数分岐をする

次に複数に分岐する方法を見てみましょう。
複数分岐とは、もし~だったら~を、~だった場合は~を、~だった場合は… と複数の条件で振り分けを行う処理になります。

Pythonのif~elif構文

if 条件式:
    処理A
    処理B

elif 条件2:
    処理C
    処理D
    処理E

elif 条件3:
    処理F
    処理G

ifで指定した条件と異なる条件で処理をしたい場合は、elif 別の条件式: のように記述することでいくつでも条件を振り分けることができます。 さらにすべての条件に当てはまらない場合は、elseを指定します。

Pythonのif~elif~else構文

if 条件1:
    処理A
    処理B

elif 条件2:
    処理C
    処理D
else:
    処理E
    処理F
        

if文はどれか一つでも条件が一致したものがあれば、それ以降の条件は実行されません。上記の例だと、例えば条件1が当てはまって実行された場合、処理2の条件も一致していたとしても、次は処理Fが実行されることになります。

Pythonのif文プログラムの例

実際のプログラムの例を見てみましょう

my_count = 2if my_count >= 3:    print('3以上です')elif my_count >= 2:
    print('2以上です')
elif my_count >= 1:
    print('1以上です')
else:    
    print("当てはまりません")

このプログラムを実行するとmy_countが2の場合、当てはまる条件はmy_count >= 2なので

2以上です

と表示されます。