Python で成績変換器を作成する
Fariba Laiq
2022年5月26日
成績計算機/コンバーターは、学生が取得したマークの各範囲に対して成績を割り当てるプログラムです。この種のプログラムは、各科目の個別のスコアを入力して自動的に成績を計算するために、教師や教育機関でよく使用されます。
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つずつ計算します。
最後に、各スコアに重みを付けて、合計平均スコアを計算します。重みを次のように定義しました。
- 重みの 10%は、割り当ての平均スコアに属します。
- 20%の重みは、ラボタスクの平均スコアに属します。
- 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
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