Python確認テスト第2問|if文と条件分岐を理解できているかチェック【初心者向け】

Python確認テスト

Python確認テスト第2問では、「if文」と「条件分岐」について確認します。

条件分岐とは、条件によって実行する処理を変える仕組みです。

例えば、

「テストの点数が60点以上なら合格、60点未満なら不合格」

といった判定をプログラムで行うときに使います。

Pythonでは、主に if、elif、else を使って条件分岐を記述します。

問題を見たら、すぐに答えを確認せず、まずは自分で実行結果を考えてみましょう。

第2問:このPythonコードの実行結果は?

次のプログラムを実行すると、何が表示されるでしょうか。

score = 60

if score > 60:
    print("合格")
else:
    print("不合格")

次の4つから選んでください。

A. 合格

B. 不合格

C. 60

D. エラーになる

答えを決めてから、下の解説を確認してみましょう。

正解

正解は「B. 不合格」です。

実行結果は次のようになります。

不合格

なぜ「不合格」になるの?

ポイントは、次の条件です。

score > 60

> は、

「60より大きい」

という意味です。

今回の score は60なので、

60 > 60

は成立しません。

そのため、if の処理ではなく、else の処理が実行されます。

print("不合格")

結果として、「不合格」と表示されます。

「以上」にしたい場合はどうする?

60点ちょうども合格にしたい場合は、>= を使います。

score = 60

if score >= 60:
    print("合格")
else:
    print("不合格")

実行結果:

合格

>= は、

「以上」

という意味です。

そのため、

60 >= 60

は成立します。

> と >= の違い

条件分岐では、比較演算子の違いがとても重要です。

演算子意味
>より大きい
<より小さい
>=以上
<=以下
==等しい
!=等しくない

今回の問題では、

score > 60

と、

score >= 60

の違いを理解することがポイントです。

if文とは?

if は、

「もし条件が成立したら、この処理を実行する」

という意味で使います。

基本的な書き方は次のとおりです。

if 条件:
    処理

例えば、

age = 18

if age >= 18:
    print("18歳以上です")

実行結果:

18歳以上です

条件が成立した場合だけ、インデントされた処理が実行されます。

elseとは?

else は、

ifの条件が成立しなかった場合に実行する処理

です。

age = 16

if age >= 18:
    print("18歳以上です")
else:
    print("18歳未満です")

実行結果:

18歳未満です

16は18以上ではないため、else 側の処理が実行されます。

elifとは?

条件が2つより多い場合は、elif を使えます。

例えば、テストの成績を判定してみましょう。

score = 75

if score >= 90:
    print("A")
elif score >= 70:
    print("B")
else:
    print("C")

実行結果:

B

75は90以上ではありませんが、70以上という条件は成立します。

そのため、「B」と表示されます。

条件は上から順番に確認される

if文では、条件は上から順番に判定されます。

例えば、

score = 95

if score >= 60:
    print("C")
elif score >= 70:
    print("B")
elif score >= 90:
    print("A")

実行結果は、

C

になります。

最初の、

score >= 60

が成立した時点で、その後の elif は確認されません。

正しく判定したい場合は、

score = 95

if score >= 90:
    print("A")
elif score >= 70:
    print("B")
elif score >= 60:
    print("C")

のように、条件の順番にも注意する必要があります。

もう1問挑戦してみよう

次のプログラムの実行結果を考えてみてください。

age = 20

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

何が表示されるでしょうか。

A. 成人

B. 未成年

C. 20

D. エラー

正解

正解は、

A. 成人

です。

20は18以上なので、

age >= 18

という条件が成立します。

そのため、

print("成人")

が実行されます。

さらに挑戦:== の意味

次のプログラムでは、何が表示されるでしょうか。

number = 10

if number == 10:
    print("同じです")
else:
    print("違います")

正解は、

同じです

です。

== は、

2つの値が等しいかどうかを比較する演算子

です。

ここで注意したいのが、

number = 10

と、

number == 10

の違いです。

= は代入、== は比較です。

よくある間違い

初心者がif文を書くときによくある間違いを確認しておきましょう。

コロンを書き忘れる

間違った例:

if score >= 60
    print("合格")

正しくは、

if score >= 60:
    print("合格")

です。

インデントを忘れる

間違った例:

if score >= 60:
print("合格")

正しくは、

if score >= 60:
    print("合格")

です。

Pythonでは、if文の中で実行する処理をインデントします。

= と == を混同する

score = 60

は代入です。

score == 60

は比較です。

意味が異なるので注意しましょう。

今回のポイント

Python確認テスト第2問で覚えておきたいポイントは、次の4つです。

  • if は条件が成立した場合に処理を実行する
  • else は条件が成立しなかった場合に使う
  • > と >= は意味が異なる
  • 条件は上から順番に判定される

特に、

score > 60

と、

score >= 60

の違いは、テストや実際のプログラムでもよく出てきます。

まとめ

今回は、Pythonのif文と条件分岐について確認しました。

条件分岐を理解すると、

  • 点数による合否判定
  • 年齢による判定
  • ゲームの勝敗
  • ログイン状態の確認

など、条件に応じて処理を変更できるようになります。

第1問で学んだ変数と組み合わせることで、より実用的なプログラムを書けるようになります。

今回の問題が理解できたら、次は繰り返し処理を使った問題に挑戦してみましょう。

次回:Python確認テスト第3問|for文と繰り返し処理