用 Python 製作成績轉換器
Fariba Laiq
2022年5月26日
成績計算器/轉換器是根據學生獲得的每個分數範圍分配成績的程式。這種程式經常被教師和教育機構使用,通過輸入每個科目的個人分數來自動計算成績。
用 Python 製作成績轉換器
可以有多種方案和標準來計算學生的成績。
在這裡,我們將製作兩種型別的成績轉換器。一個是簡單的,另一個是加權的。
簡單成績轉換器
在這裡,我們將製作一個成績轉換器,它將計算成績而不給分數賦予任何權重。以下是步驟:
-
使用者將輸入學生在每個科目中獲得的個人分數。
-
然後,我們將通過將每個科目的分數之和除以科目數來計算平均分數。
-
最後,我們將使用
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+
加權成績轉換器
在這種情況下,成績轉換器將通過新增一個額外的步驟來計算成績,該步驟賦予考試、實驗室任務和作業中獲得的分數權重。在這裡,我們將輸入考試、實驗任務和作業的分數,並一一計算它們的平均值。
最後,我們將通過賦予每個分數權重來計算總平均分數。我們將權重定義如下:
- 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
Author: 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