Day 79簡単な成績評価プログラム
Pythonコード
1def evaluate_score(score):2 if score >= 80:3 return '優'4 elif score >= 60:5 return '可'6 else:7 return '不可'8 9scores = []10for i in range(5):11 while True:12 try:13 score = int(input(f'生徒{i+1}の点数を入力してください:'))14 if 0 <= score <= 100:15 scores.append(score)16 break17 else:18 print('点数は0から100までの間で入力してください。')19 except ValueError:20 print('点数は整数で入力してください。')21 22for i, score in enumerate(scores):23 print(f'生徒{i+1}の点数:{score}、評価:{evaluate_score(score)}')
解説
- 行1〜7: このプログラムでは、成績評価のための関数evaluate_scoreを定義しています。この関数は、与えられた点数に基づいて評価(優、可、不可)を返します。if文とelif文は条件に応じて評価を決定し、return文は評価を返します。
- 行9〜20: 次に、5人の生徒の点数を入力するためのループを作成しています。入力された点数は、リストscoresに追加されます。入力ミス(整数以外の入力、範囲外の入力)に対しては、try/exceptブロックを使用してエラーを処理しています。range()関数は連続した整数を順番に取り出し、input()関数はユーザーからの入力を取得します。
- 行22〜23: 最後に、入力された点数とそれに対応する評価を出力しています。enumerate()関数はリストのインデックスと値を同時に取得し、print()関数は画面に文字や値を表示します。
次に試してみよう
- 入力された点数の平均を計算して出力してみましょう。
- 評価の基準(例:優60点以上)を変更してみましょう。
- 生徒の名前も入力できるようにプログラムを拡張してみましょう。