【Python】if文を使った条件分岐の基本を簡単に紹介

PC関連

Pythonで条件分岐をする場合、「if文」を使うことになりますが、初心者の方には少し複雑に思えるかもしれません。

そこで今回は、初心者の方にもわかるように、Pythonでのif文の使い方を簡単に紹介します。

スポンサーリンク

if文の基本的な使い方

では早速、if文の基本的な使い方を説明します。

まずは、数字が一致した場合にだけprint関数で結果を出力するサンプルプログラムをみてみましょう。

◆サンプルプログラム:

i = 1
if i == 1:
    print('True')
    print('i=1')
if i == 3:
    print('Flase')
    print('i=3')
print('end')

◆実行結果:

True
i=1
end

このサンプルプログラムでは、iの値に1を代入しており、ひとつめのif文では条件が一致している(i==1が成立している)ので、if文の下にある処理が実行されます。

if文の条件が一致した場合に実行される処理は、同じ数の空白(一般的には4つの空白)でインデントされた行だけです。そのため、サンプルプログラムでは、print(‘True’)とprint(‘i=1’)が実行されます。

しかし、次のif文では条件が一致していない(i==3が成立しない)ので、if文の下にある処理は実行されません。

実行結果をみると、print(‘Flase’)とprint(‘i=3’)が実行されていないことがわかりますよね。

ちなみに、print(‘end’)は、インデントされていないので、if文とは関係のない処理となり、if文の結果に関わらず実行されます。

では次に、「for文」と組み合わせて、数字が一致した場合にだけ、print関数で結果を出力するサンプルプログラムをみてみましょう。

◆サンプルプログラム:

for i in range(5):
    if i == 3:
        print(i)
print('end')

◆実行結果:

3
end

このサンプルプログラムでは、for文を使ってiを0からインクリメントしていき、iの値が3になったときだけ、print関数で結果を出力しています。

先ほどと同様に、if文を使うことで、if文以下の処理を実行する条件(サンプルプログラムの場合はiが3になったときだけ)を設定することができるんですよね。

※for文の使い方について知りたい方は、以下のエントリを参考にしてください。

【Python】for文を使った繰り返し処理の基本を簡単に紹介
Pythonで繰り返し処理を実現する方法として「for文」と「while文」がありますが、初心者の方には少し複雑に思えるかもしれません。 そこで今回は、初心者の方にもわかるように、Pythonでのfor文の使い方を簡単に紹介します。 ...

また、先ほどの「if文」に「else文」を追加すると、if文の条件に一致しなかった場合の処理が追加できます。

◆サンプルプログラム:

for i in range(5):
    if i == 3:
        print('if: ' + str(i))
    else:
        print('else: ' + str(i))

◆実行結果:

else: 0
else: 1
else: 2
if: 3
else: 4

iの値が3のときはif文の処理が、それ以外のときはelse文の処理が実行されていることがわかりますよね。

また、「elif」を使うと、さらに分岐条件を追加することができます。以下のサンプルプログラムをみてください。

◆サンプルプログラム:

for i in range(5):
    if i == 3:
        print('if: ' + str(i))
    elif i == 1:
        print('elif: ' + str(i))
    else:
        print('else: ' + str(i))

◆実行結果:

else: 0
elif: 1
else: 2
if: 3
else: 4

iが1のときにelifの処理が実行されていることがわかりますよね。

もちろん、一致以外の条件でも分岐できます。これまでは、値の一致を意味する条件式「==」を使ってきましたが、次のサンプルプログラムでは値の大小関係「>」で条件分岐しています。

◆サンプルプログラム:

for i in range(5):
    if i > 1:
        print('if: ' + str(i))
    else:
        print('else: ' + str(i))

◆実行結果:

else: 0
else: 1
if: 2
if: 3
if: 4

iの値が1より大きい場合は「if文」の処理に入り、1以下の場合は「else文」の処理に入っていることがわかりますよね。

他にも、「!=」や「and」、「or」などの条件式があるので、必要に応じて習得してください。

では最後に、Numpyの配列(ndarray)に適当な数字を入力しておき、最大値とその配列番号を求めるプログラムを紹介します。

◆サンプルプログラム:

import numpy as np

data = np.array([100, 43, 50, 88, 103, 99, 0 ,60, 3])
cnt = 0
max_data = 0
index = 0

for i in data:
    if i > max_data:
        max_data = i
        index = cnt
    cnt = cnt + 1

print('max_data:', max_data)
print('index:', index)

◆実行結果:

max_data: 103
index: 4

配列(data)に入力されている値を順番に取り出していき、現在の最大値よりも大きければmax_dataに保存、あわせて配列番号(cnt)をindexに保存しています。

少し複雑ですが、配列の最大値とその配列番号を求めることができました。

このように、if文を使えば、条件に応じた処理ができるので、プログラムの幅が広がりますよ。

※Numpyについて知りたい方は、以下のエントリを参考にしてください。

【Python】数値計算に役立つライブラリNumPyの導入方法と使い方を紹介
Pythonを使って機械学習をはじめると、膨大な量の数値計算をする必要に迫られるため、計算を効率的に行うモジュール「NumPy」を使うことが多くなります。 NumPyは、機械学習で必須となるベクトルや行列などの多次元配列のデータを簡単...
スポンサーリンク

最後に

今回は、Pythonのif文について簡単に紹介してきました。if文はプログラムには必須の構文なので、ぜひ覚えておいてください。

コメント

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