if文(Python)の使い方についてわかりやすく解説

プログラムを作成する際に、条件を付けたりするときに必ず必要となるのがif文です。

if文では与える条件に対して与えられた結果が真か偽であるかを判断するものです。

if文の基本

if 条件:

これがif文の基本です。

この条件に自分の入れたい条件を入れます。

たとえば、aとbのどちらの値が大きいか知りたいときには

a = int(input("a:"))
b = int(input("b:"))

if a > b:
    print("aの方が大きいです")
else:
    print("bの方が大きいです")

このように挿入した値でaが大きければa>bが真になるのでその結果、if a > bの構造の中にあるprint(“aの方が大きいです”)が実行されます。

ここでelseというのは上のif a > bが偽であった場合にそれ以外のものを真にするということです。

if a > b:
    print("aの方が大きい")
    print("bは小さい")

この時にはif a > bが真であればその中にあるブロックは全て実行されます。

上のプログラムの実行結果は

aの方が大きい
bは小さい

になります。

elif

elifが使われるのは条件同士が重ならず、常に一つの条件が真となったときに残りすべての条件が偽となる排他的なものを用いる場合に使用します。

たとえば、100より大きいか、10以上100以下か、10未満か判断するプログラムを作成するとします。

num1 = int(input())

if num1 > 100:
    print("100より大きいです")
elif num1 >= 10:
    print("10以上100以下です")
else:
    print("10未満です")

このとき、同じ値で二つ以上の条件を満たすものはないのでelifを使います。

elifでは最初のifが実行されればそれ以降の条件文は実行されないので効率よく実行することができます。ifが実行されていない場合はそれ以降のelifが実行され、そのどちらも真でない場合はelseが実行されます。

num1 = int(input())

if num1 > 100:
    print("100より大きいです")
if num1 >= 10:
    print("10以上です")
else:
    print("10未満です")

このプログラムで10以上の値を入力すると、if num1 > 100:、if num1 > 10:のどちらも真となるので

100より大きいです
10以上です

の両方出力されます。

このように排他的な条件に対して行う場合に、elifは有効です。

複数の条件を真にしたい場合はifを使います。

else

elseはif文の最後に使われます。

elseは上のif、elifの条件を満たさない場合にそれ以外のものを満たすと性質を持っています。

num1 = int(input())

if num1 > 100:
    print("100より大きいです")
if 10<= num1 <= 100:
    print("10以上100以下です")
else:
    print("10未満です")

上のようなプログラムの場合、5を挿入すると、まず「if num1 > 100:」で100より大きくないのでこの条件は偽になります。次に「if 10<= num1 <= 100:」でも5は10以上100以下でないのでこの条件も偽になります。

そして、以上の条件から残ったのは10未満という条件です。ここで、「if num1 < 10:」として条件を設けても動作しますが、条件が複雑になったり、とびとびの条件になったりするときに一つ一つ条件を書き込むのは大変なのでelseを使い残りのものを全て範囲を網羅します。

elseが動くのは上の条件が全て偽だった場合のみ真になります。

コメント

タイトルとURLをコピーしました