ロジカ式logo

はじめての
Python

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

次は、「条件分岐構造」のパターン2を教えてあげるね!

分岐パターン2では、判定結果が「True」のときとそうでないときとで、どちらを実行するか分かれることになるよ!

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

条件式を調べて、もし「True」だったら「することA」のプログラムを実行するけど、「False」のときには「することB」のプログラムを実行するんだ!

つまり、二者択一ってことだね!

ロボち
パターン2

基本型

if else文

パターン2 基本型
ロボた

分岐パターン2は、「ifブロック」に「elseブロック」を付け足して一つのブロックになっているよ!
「if else文」とか「if elseブロック」っていうんだ!

「else」というのは「〇〇以外」っていう意味だから、条件式の判定が「True」でないときには、必ず「else」ブロックの中の処理が実行されるんだ!

ロボち
ロボた

「else」の後ろにも「:(半角コロン)」をつけるのを、忘れないでね!

それから「elseブロック」の中の処理にも、頭に半角スペースを4つつけるようにしてね!

ロボち

使い方の例

📝1
プログラムの仕様

1.変数「int_num」に整数型の数値を、「float_num」には小数型の数値を代入します。
2.もし「int_num」のほうが大きいなら、「"int_numの値のほうが大きい"」と出力します。
3.そうではなく「float_num」のほうが大きいなら、「"float_numの値のほうが大きい"」と出力します。

EXAMPLE
int_num = 5 float_num = 5.0003 if int_num > float_num: print("int_numの値のほうが大きい") else: print("float_numの値のほうが大きい")
ロボた

代入された数値を見ると、わずかに「float_num」の値のほうが大きいね!

そのため条件式の判定は「False」になるので、「elseブロック」の中の処理が実行されて、「float_numの値のほうが大きい」って表示されたんだよ!

ロボち

📝2
二つの名前が、同じかどうかを判定するプログラムです。

もし二つの名前が同じなら、「同じ名前です」と出力し、そうではなく、異なっているなら「同じ名前ではありません」と出力しています。

EXAMPLE
student1 = "清水 ほのか" student2 = "山本 りお" if student1 == student2: print("同じ名前です") else: print("同じ名前ではありません")
ロボた

変数に代入されている名前は異なっているから、条件式の判定は「False」になるので「elseブロック」の中の処理が実行されてるよ!

これも、条件式の「==」を「!=」にすると、どんな結果になると思う?
どうしてそうなるのか、もうわかるよね!

ロボち

やってみよう

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

1.2つの変数に、それぞれ数値が代入されています。
2.ifブロックの下に、「else」ブロックを追加してください。
3.もし条件式の判定が「False」なら、「number2の値のほうが小さい」と表示させるようにしてください。

ロボた

「elseブロック」は、「else:」だったね!

「elseブロック」の中では、インデントするのを忘れないでね!

ロボち
PRACTICE
number1 = 35 number2 = 18 if number1 < number2: print("number2の値のほうが大きい")

📖 解答例

number1 = 35
number2 = 18

if number1 < number2:
    print("number2の値のほうが大きい")
else:
    print("number2の値のほうが小さい")

⌨️2
次の、「どちらの値段が安いか」を判断するプログラムを、作成してください。

1.「りんご」の値段の変数「price_apple」と、「オレンジ」の値段の変数「price_orange」があります。
2.それぞれに、値段を代入してください。同じ値段にはしないでください。
3.変数にどんな値段を代入しても、プログラムを実行したときに必ず安いのはどちらのほうかを出力するようにしてください。

ロボた

もし「りんご」のほうが安かったら、「りんごのほうが安い」って表示されて、

もし「オレンジ」のほうが安かったら、「オレンジのほうが安い」って表示されるようにするっていうことだね!

ロボち
PRACTICE
price_apple = price_orange =

📖 解答例

price_apple = 100
price_orange = 80

if price_apple > price_orange:
    print("オレンジのほうが安い")
else:
    print("りんごのほうが安い")

⌨️3
年齢が18歳以上なら「あなたは成人です」、そうでない場合「あなたは未成年です」と表示するプログラムを作成してください。

1.変数を一つ用意して、その変数に数値で年齢を代入してください。
2.変数の値が18以上(18も含む)なら、「成人です。」と出力し、
3.そうでないなら、「未成年です。」と出力するようにしてください。

PRACTICE

📖 解答例

age = 15

if age >= 18:
    print("成人です。")
else:
    print("未成年です。")

⌨️4
所持金と商品の値段を比較して、所持金のほうが多い場合は「商品を購入できます。」、足りない場合は「商品を購入できません。」と表示するプログラムを作成してください。

1.どんな変数が必要になるかよく考えて、プログラムを作成してください。

PRACTICE

📖 解答例

money = 800   #所持金
price = 500   #商品の値段

if money >= price:
    print("商品を購入できます。")
else:
    print("商品を購入できません。")

⌨️5
変数内の数値が、偶数か奇数かを判定するプログラムを作成してください。

ロボた

ある数値を2で割ったときの余りが0なら偶数だし、余りが1なら奇数ということだよね!

だから、変数内の数値を2で割ったときの余りが0かそうでないかというのを、条件にするとできそうだね!

ロボち
PRACTICE

📖 解答例

num = 17

if num % 2 == 0:
    print("偶数")
else:
    print("奇数")
POINT
  •   分岐パターン2の基本型は、「ifブロック」に「else :」を付け足して「if elseブロック」となる 。
  •   「else」の後ろの「:(半角コロン)」を付けるのを忘れないよう気をつける。
  •   「elseブロック」の中の処理も、頭に半角スペースを4つつけて「インデント」する。