用 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
作者: 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