用 Python 製作成績轉換器

Fariba Laiq 2022年5月26日
用 Python 製作成績轉換器

成績計算器/轉換器是根據學生獲得的每個分數範圍分配成績的程式。這種程式經常被教師和教育機構使用,通過輸入每個科目的個人分數來自動計算成績。

用 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+

加權成績轉換器

在這種情況下,成績轉換器將通過新增一個額外的步驟來計算成績,該步驟賦予考試、實驗室任務和作業中獲得的分數權重。在這裡,我們將輸入考試、實驗任務和作業的分數,並一一計算它們的平均值。

最後,我們將通過賦予每個分數權重來計算總平均分數。我們將權重定義如下:

  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
Author: 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