ロジカ式logo

はじめての
Python

ページ一覧に戻る
Lesson10-4 条件分岐 if elif else文
ロボた

次は、「条件分岐構造」のパターン3だよ!

分岐パターン3では、条件を追加していくらでも分岐を作ることができるんだ!

ロボち
パターン3 フローチャート
ロボた

最初の条件を調べて、もし「True」だったら「することA」のプログラムを実行するけど、「False」のときには次の条件判定をするんだ。
そこでも「False」だったら、「することC」のプログラムを実行するよ!

「False」のときの次の条件は、いくつでも付け足すことができるんだよ!

ロボち
パターン3

基本型

if elif else文

パターン3 基本型
ロボた

分岐パターン3は、「ifブロック」と「elseブロック」の間に「elifブロック」を挟んだ構成になっているよ!

「if elif文」とか「if elifブロック」っていうよ!

ロボち
ロボた

上から順に、条件に当てはまるか調べていって、当てはまったところの中の処理が実行されるんだ!
どれにも当てはまらなかったら、「elseブロック」の中の処理が実行されるよ!

何もする必要がないなら、「elseブロック」は省略しても大丈夫だよ!

ロボち

使い方の例

📝1
硬貨を判別するプログラムです。

1.変数「coin」に、「1, 5, 10, 50, 100, 500」のいずれかの数値を代入します。
2.もし「coin」の値が「1と等しい」なら、「"1円硬貨です"」と出力します。
3.もし「coin」の値が「5と等しい」なら、「"5円硬貨です"」と出力します。
4.もし「coin」の値が「10と等しい」なら、「"10円硬貨です"」と出力します。
5.もし「coin」の値が「50と等しい」なら、「"50円硬貨です"」と出力します。
6.もし「coin」の値が「100と等しい」なら、「"100円硬貨です"」と出力します。
7.もし「coin」の値が「500と等しい」なら、「"500円硬貨です"」と出力します。
3.どれにも当てはまらないなら、「"偽物です"」と出力します。

EXAMPLE
coin = 100 if coin == 1: print("1円硬貨です") elif coin == 5: print("5円硬貨です") elif coin == 10: print("10円硬貨です") elif coin == 50: print("50円硬貨です") elif coin == 100: print("100円硬貨です") elif coin == 500: print("500円硬貨です") else: print("偽物です")
ロボた

「if elif elseブロック」を使えば、変数の値によって色々な処理を実行できるんだ!

これで、「if elif elseブロック」の使い方は、わかったかな?

ロボち
ロボた

変数「coin」の値を変えて、正しく条件分岐しているか確かめてみてね!

やってみよう

⌨️1
次のプログラムを、作成してください。

1.2つの変数「num_A」と「num_B」を用意し、それぞれに数値を代入してください。
2.もし「num_A」より「num_B」のほうが大きいなら、「num_Bのほうが大きい」と表示させてください。
3.もし「num_B」より「num_A」のほうが大きいなら、「num_Aのほうが大きい」と表示させてください。
4.もし「num_A」と「num_B」が等しいなら、「num_Aとnum_Bは等しい」と表示させてください。

PRACTICE

📖 解答例と解説

num_A = 10
num_B = 20

if num_A < num_B:
    print("num_Bのほうが大きい")
elif num_B < num_A:
    print("num_Aのほうが大きい")
else:
    print("num_Aとnum_Bは等しい")
ロボた

「大きい」か「小さい」でもないなら、「等しい」ということになるよね!

「elseブロック」のところは、こんなふうにすることもできるね!

ロボち
num_A = 10
num_B = 20

if num_A < num_B:
    print("num_Bのほうが大きい")
elif num_B < num_A:
    print("num_Aのほうが大きい")
elif num_A == num_B:
    print("num_Aとnum_Bは等しい")

⌨️2
次のプログラムを、作成してください。

1.一つの変数に数値を代入してください。
2.もし変数の値が「2の倍数」なら、「2の倍数です。」と出力させてください。
3.もし変数の値が「3の倍数」なら、「3の倍数です。」と出力させてください。
4.もし変数の値が「5の倍数」なら、「5の倍数です。」と出力させてください。
5.もし変数の値が「どれでもない」なら、「どれでもない。」と出力させてください。

PRACTICE

📖 解答例と解説

num = 111

if num % 2 == 0:
    print("2の倍数です。")
elif num % 3 == 0:
    print("3の倍数です。")
elif num % 5 == 0:
    print("5の倍数です。")
else:
    print("どれでもない。")
ロボた

2の倍数というのは、「2で割った余りが0」ということだよね!

同じように、3の倍数も5の倍数も、「割ったときの余り」を調べると判断できるよね!

ロボち
ロボた

上から順に、条件に当てはまるか調べていって、当てはまったところの中の処理が実行されるんだよ!

例えば6のように、2の倍数でもあり3の倍数でもある場合は、「2の倍数です。」と出力されて終わるんだね。

ロボち
POINT
  •   分岐パターン3の基本型は、「ifブロック」と「elseブロック」の間に、「elifブロック」を挟んだ構成になっている 。
  •   「elifブロック」は、いくつでも付け足すことができる。
  •   「elseブロック」は、必要なければ省略できる。