Day 006 — 条件分岐(if/elif/else)

2026-04-13 灰色 / Phase 1 ★☆☆☆☆ 条件分岐

問題

あなたは学校の成績処理係です。生徒のテストの点数 S が与えられるので、以下の基準で成績を出力してください。

点数の範囲出力
80 ≤ S ≤ 100A
60 ≤ S < 80B
40 ≤ S < 60C
0 ≤ S < 40D

入力形式

S

制約

$0 \le S \le 100$
S は整数

入出力例

入力例 1

85

出力例 1

A

入力例 2

60

出力例 2

B

入力例 3

39

出力例 3

D

ヒント (段階的開示)

ヒント1: 方向性
Pythonの if / elif / else で順番に条件を確認していきましょう。条件は上から順に評価されます。
ヒント2: アプローチ
上から「最も高い点数帯」から順に書くと、それ以降の elif では「80未満なのは確定」という前提で書けます。
ヒント3: 誘導
S = int(input())

if S >= 80:
    print("A")
elif S >= 60:
    print("B")
elif S >= 40:
    print("C")
else:
    print("D")

模範解答 (Python)

S = int(input())

if S >= 80:
    print("A")
elif S >= 60:
    print("B")
elif S >= 40:
    print("C")
else:
    print("D")

Step-by-Step 解説

1入力を整数として受け取る
S = int(input())。数が1つだけなので split() は不要。
2if / elif / else で条件分岐
elif S >= 60 だけで「60以上80未満」を表せる。if S >= 80 が False ということは S < 80 が既に確定しているから。
3else で残りをまとめる
全条件が False のときに実行される。今回は「S < 40」のケース。

よくあるミス

ミス原因正しい書き方
if S >= 60: を独立に書くelif ではないelif S >= 60:
elif S > 60:60がCになるelif S >= 60:
int(input()) を忘れる文字列と整数の比較エラー必ず int()
else ifC/JavaのクセPythonは elif

次のステップ

  • 発展: 「A」のとき追加メッセージを出力(if のネスト)
  • 次回予告: 条件分岐の応用問題

自己評価

自分の回答

気づき・メモ