Python で成績変換器を作成する

Fariba Laiq 2022年5月26日
Python で成績変換器を作成する

成績計算機/コンバーターは、学生が取得したマークの各範囲に対して成績を割り当てるプログラムです。この種のプログラムは、各科目の個別のスコアを入力して自動的に成績を計算するために、教師や教育機関でよく使用されます。

Python で成績変換器を作成する

学生の成績を計算するための複数のシナリオと基準があります。

ここでは、2 種類のグレードコンバーターを作成します。1つは単純で、もう 1つは重み付けされています。

シンプルグレードコンバーター

ここでは、スコアに重みを付けずにグレードを計算するグレードコンバータを作成します。手順は次のとおりです。

  • ユーザーは、各科目で学生が取得した個々のスコアを入力します。
  • 次に、すべての被験者のスコアの合計を取り、合計スコアを被験者の数で割ることにより、平均スコアを計算します。
  • 最後に、if-else 条件を使用して、平均スコアの各範囲に対して評点を割り当てます。

コード例:

# Python 3.x
total_marks = 0
print("Enter Marks Obtained in 4 Subjects: ")
for i in range(1, 5):
    marks = int(input("Enter the marks for subject:" + str(i) + " "))
    total_marks = total_marks + marks
avg_marks = total_marks / 4
if avg_marks >= 91 and avg_marksg <= 100:
    print("Grade: A+")
elif avg_marks >= 81 and avg_marks < 91:
    print("Grade: A")
elif avg_marks >= 71 and avg_marks < 81:
    print("Grade: B+")
elif avg_marks >= 61 and avg_marks < 71:
    print("Grade: B")
elif avg_marks >= 51 and avg_marks < 61:
    print("Grade: C+")
elif avg_marks >= 41 and avg_marks < 51:
    print("Grade: C")
else:
    print("Grade: F")

出力:

#Python 3.x
Enter Marks Obtained in 4 Subjects:
Enter the marks for subject:1 90
Enter the marks for subject:2 80
Enter the marks for subject:3 60
Enter the marks for subject:4 70
Grade: B+

加重グレードコンバータ

このシナリオでは、成績コンバーターは、試験、ラボタスク、および課題で取得されたスコアに重みを与える 1つのステップを追加して、成績を計算します。ここでは、試験、ラボタスク、課題の点数を入力し、それらの平均を 1つずつ計算します。

最後に、各スコアに重みを付けて、合計平均スコアを計算します。重みを次のように定義しました。

  1. 重みの 10%は、割り当ての平均スコアに属します。
  2. 20%の重みは、ラボタスクの平均スコアに属します。
  3. 70%の重みは、試験の平均スコアに属します。

合計平均スコアを計算した後、各スコア範囲に対してグレードを割り当てます。

コード例:

# Python 3.x
total_marks = 0
exam1 = int(input("Enter Marks Obtained in Exam 1: "))
exam2 = int(input("Enter Marks Obtained in Exam 2: "))
avg_exam = (exam1 + exam2) / 2
totallab = 0
totalassignment = 0
for i in range(1, 3):
    marks = int(input("Enter Marks Obtained in Lab Task: " + str(i) + " "))
    totallab = totallab + marks
avglab = totallab / 2
for i in range(1, 5):
    marks = int(input("Enter the marks for Assignment:" + str(i) + " "))
    totalassignment = totalassignment + marks
avgassignment = totalassignment / 4
avg_marks = 0.1 * avgassignment + 0.7 * avg_exam + 0.2 * avglab
if avg_marks >= 91 and avg_marksg <= 100:
    print("Grade: A+")
elif avg_marks >= 81 and avg_marks < 91:
    print("Grade: A")
elif avg_marks >= 71 and avg_marks < 81:
    print("Grade: B+")
elif avg_marks >= 61 and avg_marks < 71:
    print("Grade: B")
elif avg_marks >= 51 and avg_marks < 61:
    print("Grade: C+")
elif avg_marks >= 41 and avg_marks < 51:
    print("Grade: C")
else:
    print("Grade: F")

出力:

#Python 3.x
Enter Marks Obtained in Exam 1: 40
Enter Marks Obtained in Exam 2: 60
Enter Marks Obtained in Lab Task: 1 20
Enter Marks Obtained in Lab Task: 2 40
Enter the marks for Assignment:1 60
Enter the marks for Assignment:2 10
Enter the marks for Assignment:3 30
Enter the marks for Assignment:4 40
Grade: C
著者: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

関連記事 - Python Math