【python】IF文の使い方(条件分岐)

2020年5月17日

IF文の基本

IF文が条件判定を行います。
[条件]はbool型を使用します。
Trueの場合だけ[処理]が実行されます。
Falseの場合は実行されません。

文法

   if [条件]:
        [処理1]
        [処理2]
         ・・・
        [処理n]

下記は一桁の素数の倍数を判定するプログラムです。

ソースコード

#2,3,5,7の倍数判定
def sample1( num ):

    print( num , "の2,3,5,7倍数判定開始")

    if num % 2 == 0:
        print( num , "は2の倍数")
    if num % 3 == 0:
        print( num , "は3の倍数")
    if num % 5 == 0:
        print( num , "は5の倍数")
    if num % 7 == 0:
        print( num , "は7の倍数")

if __name__ == "__main__":

    print("sample1の実行結果 : 2,3,5,7の倍数判定")
    sample1(10)
    sample1(21)
    sample1(35)
    sample1(210)

実行結果

sample1の実行結果 : 2,3,5,7の倍数判定
10 の2,3,5,7倍数判定開始
10 は2の倍数
10 は5の倍数
21 の2,3,5,7倍数判定開始
21 は3の倍数
21 は7の倍数
35 の2,3,5,7倍数判定開始
35 は5の倍数
35 は7の倍数
210 の2,3,5,7倍数判定開始
210 は2の倍数
210 は3の倍数
210 は5の倍数
210 は7の倍数

IF-ELSE文の使い方

elseはifを使用した後だけ使用できます。
if文の条件が不成立の時のみ処理ができます。

文法

   if [条件]:
        [処理1]
        [処理2]
         ・・・
        [処理n]
   else:
        [処理1]
        [処理2]
         ・・・
        [処理m]

例として偶数か奇数かの判定するプログラムを見ていきましょう。
「num % 2 == 0」は2で割り切れる時として偶数を判定します。
それ以外の時は奇数と判定します。

ソースコード

#偶数・奇数判定
def sample2( num ):

    if num % 2 == 0:
        print( num , "は偶数" )
    else:
        print( num , "は奇数" )

if __name__ == "__main__":

    print("sample2の実行結果 : 偶数・奇数判定")
    sample2(3)
    sample2(4)

実行結果

sample2の実行結果 : 偶数・奇数判定
3 は奇数
4 は偶数

IF-ELIF-ELSEの使い方

elifはif文の上の条件判定が不成立の時に実行されます。
elifでも条件判定ができます。else ifの略になります。

文法

    if [条件]:
         [処理1]
          ・・・
         [処理n]
    elif [条件]:
         [処理1]
          ・・・
         [処理m]
    else:
         [処理1]
          ・・・
         [処理p]

例として文字列が「犬」か「猫」かそれ以外かの判定を行うプログラムを見ていきましょう。

ソースコード


#犬猫判定
def sample3( str ):

    if str == "犬":
        print("私は犬が好きです。")
    elif str == "猫":
        print("私は猫が好きです。")
    else:
        print("犬か猫は好きでありません。")

if __name__ == "__main__":

    print("sample3の実行結果 : 犬猫判定")
    sample3("犬")
    sample3("猫")
    sample3("フェレット")

実行結果

sample3の実行結果 : 犬猫判定
私は犬が好きです。
私は猫が好きです。
犬か猫は好きでありません。

複数回ELIFを使う

elifは複数回繋げることができます。
上から順番に条件判定がされ、成立したところで処理が実行されます。

サンプルコードとして「月から季節を判定する」を用意しました。
or条件で複数の月を一気に判定できるようにしています。

ソースコード


#季節判定
def sample4( month ):

    if month == "3月" or month == "4月" or month == "5月":
        print( month , "は春です。" )
    elif  month == "6月" or month == "7月" or month == "8月":
        print( month , "は夏です。" )
    elif  month == "9月" or month == "10月" or month == "11月":
        print( month , "は秋です。" )
    elif  month == "12月" or month == "1月" or month == "2月":
        print( month , "は冬です。" )
    else:
        print(month,"の季節はありません。")


if __name__ == "__main__":

    print("sample4の実行結果 : 季節判定")
    sample4("5月")
    sample4("7月")
    sample4("9月")
    sample4("1月")
    sample4("13月")

実行結果

5月 は春です。
7月 は夏です。
9月 は秋です。
1月 は冬です。
13月 の季節はありません。

ソースコードはこちらから

このページで紹介している記事のソースコードの販売を行っています。
python基本を押さえたソースコードを収録しています。
購入頂いたソースコードは商用利用OKになります。

ソースコードの販売はこちら