今回やること
点数から合格判定と評価を出すツールを作ります。
成績判定は、if文と関数を組み合わせる練習に向いています。
完成コード
grade_judge_tool.py を作ります。
scores = [95, 82, 70, 58, 40]
def judge_grade(score):
if score >= 90:
return "A"
if score >= 80:
return "B"
if score >= 60:
return "C"
return "D"
def is_passed(score):
return score >= 60
total = 0
for score in scores:
total += score
grade = judge_grade(score)
result = "合格" if is_passed(score) else "不合格"
print(f"{score}点: {grade}評価 / {result}")
average = total / len(scores)
print("----------")
print(f"平均点: {average:.1f}点")
動作確認
python grade_judge_tool.py
各点数の評価と 平均点: 69.0点 が表示されれば成功です。
コードの考え方
judge_gradeは評価を返す関数ですis_passedは合格かどうかを返す関数です- 合計を出してから平均点を計算します
- 関数を分けると、判定ルールを直しやすくなります
よくあるエラー
| エラー | 原因 | 修正 |
|---|---|---|
| 判定が変 | if文の順番が違う | 高い点数から判定する |
ZeroDivisionError | 点数リストが空 | 空のリストを避ける |
| 平均が違う | 合計や件数が違う | total と len を確認 |
練習
- 点数を自分で変える
- 50点以上を合格にする
- S評価を追加する
- 最高点と最低点を表示する
次のステップ
ここまで進めたら、次はファイル保存つきのTodoや、外部ライブラリを使う制作へ進めます。