【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文の条件が一致した場合に実行される処理は、同じ数の空白でインデントされた行だけです。そのため、サンプルプログラムでは、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文」について知りたい方は、以下のエントリを参考にしてください。

 また、先ほどの「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文」を使えば、条件に応じた処理ができるので、プログラムの幅が広がりますよ。

スポンサーリンク

 最後に

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

コメント

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