Python|条件分岐(if/else/elif…etc)について学ぼう

Pythonでプログラムを実行するとき、異なる条件で処理を分けたいときがでてきます

そんなときは条件分岐をさせることで実現することができます

このページではPythonで条件分岐を実行させる命令文ifについて解説していきます

条件分岐とは?

プログラムは基本ソースコードの上から順番に実行されます

そのため何度実行しても同じ処理が行われます

条件分岐は、特定の条件のときに処理を変えることができるものでプログラミングの中ではどの言語でも分岐をするための文法が用意されています

Pythonでもif文やSwitch文が用意されていています

このページでは主に2通りで分岐を行うif文について解説していきます

if文の基本

基本的な書き方

if文は、もし○○だったらxxの処理を実施する

といった流れのプログラム文法になります

if文の基本

if 条件式:
処理A

この場合条件式が正しければ処理Aを実行します

逆に正しくなければ処理Aは実行されません

ブロック文の考え方

またPythonの場合if文の中身はひとつインデントを下げて記載します

このような記載の仕方をブロック文と呼びます

実際にプログラムコードを書いていくときは上のような形でタブでインデントを下げて書いていきます

さらにブロック文を記載するときは、もう一段下げます

逆にブロック文を終了する場合はインデントを戻して続きの処理を記載するようにします

if文の条件に使えるもの

if文の条件式として使えるものを紹介していきます

主に6パターンの組み合わせでコードを書いていくことができます

条件式に使えるもの
  • A == B : AとBが等しい
  • A != B : AとBが等しくない
  • A < B : AよりBが大きい
  • A <= B : AはBと等しいもしくは大きい
  • A > B : AよりBは小さい
  • A >= B : AはBと等しいもしくは小さい

条件分岐の基本的な使い方

ifの使い方

ここからは条件文ifの使い方について紹介していきます

ifの使い方

if 条件式:
処理A

実際に動かしてみましょう

a = 10
b = 20

if a < b:
    print("処理A")

print("終了")

条件式としてa < bを設定しました

変数aより変数bの方が大きい場合このif文の条件Trueとなりprint処理A部分が実行されます

逆に条件式を満たさない場合はをみてみましょう

a = 30
b = 20

if a < b:
    print("処理A")

print("終了")

逆に変数aより変数bの方が小さい場合はif文の条件Falseとなりprint処理Aは実行されません

elifの使い方

前の章ではifの基本的な使い方を紹介しましたが、最初のif文には一致しなかったとしても違う条件条件式に合致するかどうかを調べたいとき、elifを使用します

主にif文を使って複数の条件で処理を変えたいときとかに使います

elifの基本

if 条件式A :
処理A
elif 条件式B :
処理B

条件式AFalseだが、条件式BTrueの場合処理Bを実行します

もちろん条件式ATrueのときは処理Aが実行され、条件式BTrueだったとしても処理Bが実行されることはありません

では実際に動かしてみましょう

a = 30
b = 20
c = 40

if a < b:
    print("処理A")
elif a < c:
    print("処理B")

elseの使い方

elseif文の最後に記載する命令文で、ifelifの条件にすべて合致しなかったときの処理を記載したいときに使用します

elseの基本

if 条件式A :
処理A
elif 条件式B :
処理B

else:
処理C

上の場合、if条件式A条件式BFalseの場合に実行されます

では、実際にうごかしてみましょう

a = 50
b = 20
c = 40

if a < b:
    print("処理A")
elif a < c:
    print("処理B")
else:
    print("処理C")

条件式を複数条件にする

条件式は複数もたせることもできます

条件式を複数条件にする

if 条件式A and 条件式B:
 処理A

if 条件式A or 条件式B:
 処理B

ifの条件式は複数条件を設定することができます

条件式同士はandorを使用します

andは両サイドの条件式が両方ともTrueになったらTrueでそれ以外はFalseになります

orは両サイドのどちらかの条件式がTrueになったらTrueになり、それ以外がFalseになります

では実際に動かしてみましょう

andで成立する条件を例にみてみましょう

a = 10
b = 20
c = 40

if a < b and a < c:
    print("処理A")
else:
    print("処理B")

変数aの値は10なので、a<bかつa<cの条件に合致します

実際の動作結果でもifの条件式2つの両方ともTrueになるため処理Aが実行されます

次にFalseになる場合をみてみましょう

a = 50
b = 20
c = 40

if a < b and a < c:
    print("処理A")
else:
    print("処理B")

この場合、変数aの値は両方とも条件に合致しないので処理Bが実行されます

if文の中にif文を追加する

if文の中にさらにif文を追加することもできます

追加するときは、ブロック文の書き方にならってインデントを調整します

if文の中にif文を追加する

if 条件式A:
 if 条件式B:
  処理A

では実際に動かしてみましょう

a = 10
b = 20
c = 40

if a < b:
    if a < c:
        print("処理A")

上のプログラムコードのようにif文の中にif文を追加する場合はさらにインデントを下げます

記事が参考になったり、気に入ってもらえたら
ポチッとしてもらえると励みになります!

にほんブログ村 IT技術ブログへ にほんブログ村 IT技術ブログ Pythonへ にほんブログ村 株ブログ つみたてNISAへ

シェアしてもらえるとうれしいです!

コメントを残す

ABOUT US

usimaru
福岡でWindowsアプリケーション開発のお仕事してます。 お金に縛られない生活を目指して日々学んだことをOUTPUTしていきます。 主なテーマ ◆仕事経験から:AWS/Azure/C++/C#/Python/Ruby ◆資産形成に向けて:つみたてNISA/米国株/日本株/仮想通貨/ソーシャルレンディング ◆好きなこと:旅行/温泉/美味しいもの/布団の中 ◆目標:ブログを毎日更新目指します!