Open In App

Program to create grade calculator in Python

Last Updated : 11 Apr, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Given different scored marks of students. We need to find a Grade Calculator in Python. The test score is an average of the respective marks scored in assignments, tests, and lab work. The final test score is assigned using the below formula.

10% of marks scored from submission of Assignments
70% of marks scored from Test
20% of marks scored in Lab-Works

The grade will be calculated according to the:

1. score >= 90 : "A"
2. score >= 80 : "B"
3. score >= 70 : "C"
4. score >= 60 : "D"

Also, calculate the total class average and letter grade of the class.

Create a Grade Calculator in Python

Enter Marks Obtained from 5 Subjects to get your Grade.

Python3




print("Enter Marks Obtained in 5 Subjects: ")
total1 = 44
total2 = 67
total3 = 76
total4 = 99
total5 = 58
 
tot = total1 + total2 + total3 + total4 + total4
avg = tot / 5
 
if avg >= 91 and avg <= 100:
    print("Your Grade is A1")
elif avg >= 81 and avg < 91:
    print("Your Grade is A2")
elif avg >= 71 and avg < 81:
    print("Your Grade is B1")
elif avg >= 61 and avg < 71:
    print("Your Grade is B2")
elif avg >= 51 and avg < 61:
    print("Your Grade is C1")
elif avg >= 41 and avg < 51:
    print("Your Grade is C2")
elif avg >= 33 and avg < 41:
    print("Your Grade is D")
elif avg >= 21 and avg < 33:
    print("Your Grade is E1")
elif avg >= 0 and avg < 21:
    print("Your Grade is E2")
else:
    print("Invalid Input!")


Output:

Enter Marks Obtained in 5 Subjects: 
Your Grade is B1

Optimized code to create a grade calculator in Python

Python3




# Creating a dictionary which
# consists of the student name,
# assignment result test results
# and their respective lab results
 
# 1. Jack's dictionary
jack = {"name": "Jack Frost",
        "assignment": [80, 50, 40, 20],
        "test": [75, 75],
        "lab": [78.20, 77.20]
        }
 
# 2. James's dictionary
james = {"name": "James Potter",
         "assignment": [82, 56, 44, 30],
         "test": [80, 80],
         "lab": [67.90, 78.72]
         }
 
# 3. Dylan's dictionary
dylan = {"name": "Dylan Rhodes",
         "assignment": [77, 82, 23, 39],
         "test": [78, 77],
         "lab": [80, 80]
         }
 
# 4. Jessica's dictionary
jess = {"name": "Jessica Stone",
        "assignment": [67, 55, 77, 21],
        "test": [40, 50],
        "lab": [69, 44.56]
        }
 
# 5. Tom's dictionary
tom = {"name": "Tom Hanks",
       "assignment": [29, 89, 60, 56],
       "test": [65, 56],
       "lab": [50, 40.6]
       }
 
# Function calculates average
 
 
def get_average(marks):
    total_sum = sum(marks)
    total_sum = float(total_sum)
    return total_sum / len(marks)
 
# Function calculates total average
 
 
def calculate_total_average(students):
    assignment = get_average(students["assignment"])
    test = get_average(students["test"])
    lab = get_average(students["lab"])
 
    # Return the result based
    # on weightage supplied
    # 10 % from assignments
    # 70 % from test
    # 20 % from lab-works
    return (0.1 * assignment +
            0.7 * test + 0.2 * lab)
 
 
# Calculate letter grade of each student
def assign_letter_grade(score):
    if score >= 90:
        return "A"
    elif score >= 80:
        return "B"
    elif score >= 70:
        return "C"
    elif score >= 60:
        return "D"
    else:
        return "E"
 
# Function to calculate the total
# average marks of the whole class
 
 
def class_average_is(student_list):
    result_list = []
 
    for student in student_list:
        stud_avg = calculate_total_average(student)
        result_list.append(stud_avg)
        return get_average(result_list)
 
 
# Student list consisting the
# dictionary of all students
students = [jack, james, dylan, jess, tom]
 
# Iterate through the students list
# and calculate their respective
# average marks and letter grade
for i in students:
    print(i["name"])
    print("=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=")
    print("Average marks of %s is : %s " % (i["name"],
                            calculate_total_average(i)))
 
    print("Letter Grade of %s is : %s" % (i["name"],
             assign_letter_grade(calculate_total_average(i))))
 
    print()
 
 
# Calculate the average of whole class
class_av = class_average_is(students)
 
print("Class Average is %s" % (class_av))
print("Letter Grade of the class is %s "
      % (assign_letter_grade(class_av)))


Output

Jack Frost
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
Average marks of Jack Frost is : 72.79 
Letter Grade of Jack Frost is : C

James Potter
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
Average marks of James Potter is : 75.962 
Letter Grade of James Potter is : C

Dylan Rhodes
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
Average marks of Dylan Rhodes is : 75.775 
Letter Grade of Dylan Rhodes is : C

Jessica Stone
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
Average marks of Jessica Stone is : 48.356 
Letter Grade of Jessica Stone is : E

Tom Hanks
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
Average marks of Tom Hanks is : 57.26 
Letter Grade of Tom Hanks is : E

Class Average is 72.79
Letter Grade of the class is C 

Time Complexity: O(n*l), Here n is the number of students and l is the total number of subjects
Auxiliary Space: O(1), As constant extra space is used.



Similar Reads

Optimizing Team Formation with Grade and Age Constraints
Given two arrays, grades[], and ages[], representing the grades and ages of participants in a competition. The goal is to form teams in a way that maximizes the total grade of each team while adhering to specific constraints. The constraints are defined as follows: Each participant is characterized by a grade and an age.A team is not allowed to hav
11 min read
How to create BMI Calculator Web App using Python and PyWebIO ?
In this article, we are going to create a BMI calculator using the PyWebIO module. This is a python module mostly used to create simple and interactive interfaces on the web using Python programming. It can be installed using the below command: pip install pywebio Before creating a calculator let's take a brief understanding of BMI, The Body Mass I
3 min read
How to create AGE Calculator Web App PyWebIO in Python ?
In this article, we are going to create an AGE Calculator that will show your age in years, months, and days with the help of the current date. We will use the PyWebIO module for creating a simple and interactive interface on the web. This is a python module mostly used to create simple and interactive interfaces on the web using Python programming
4 min read
Python Program to Make a Simple Calculator
Here we will be making a simple calculator in which we can perform basic arithmetic operations like addition, subtraction, multiplication, or division. Python Program to Make a Simple CalculatorCreate a simple calculator which can perform basic arithmetic operations like addition, subtraction, multiplication, or division depending upon the user inp
4 min read
Program for EMI Calculator
Provided with amount of money i.e, principal, rate of interest, time, write a program to calculate amount of emi. EMI stand for Equated Monthly Installment. This calculator is used to calculate per month EMI of loan amount if loan amount that is principal, rate of interest and time in years is given as input.x Formula: E = (P.r.(1+r)n) / ((1+r)n -
4 min read
Menu Driven C++ Program for a Simple Calculator
Problem Statement: Write a menu-driven program using the Switch case to calculate the following: Addition of two numbersDifference between two numbersProduct of two numbersDivision of two numbersHCF of two numbersLCM of two numbers Examples: Input: num1 = 5, num2 = 7, choice = 1 Output: Sum is 12 Input: num1 = 5, num2 = 7, choice = 5 Output: GCD is
3 min read
C++ program for Complex Number Calculator
Pre-Requisites: Complex Numbers, Mathematics, Object-oriented Programming This is a Complex Number Calculator which performs a lot of operations which are mentioned below, to simplify our day-to-day problems in mathematics. The implementation of this calculator is done using C++ Programming Language using concepts of operator overloading in OOPs. P
15+ min read
Python | Simple GUI calculator using Tkinter
Prerequisite: Tkinter Introduction, lambda function Python offers multiple options for developing a GUI (Graphical User Interface). Out of all the GUI methods, Tkinter is the most commonly used method. It is a standard Python interface to the Tk GUI toolkit shipped with Python. Python with Tkinter outputs the fastest and easiest way to create GUI a
6 min read
Python | Distance-time GUI calculator using Tkinter
Prerequisites : Introduction to Tkinter | Using google distance matrix API Python offers multiple options for developing GUI (Graphical User Interface). Out of all the GUI methods, tkinter is most commonly used method. It is a standard Python interface to the Tk GUI toolkit shipped with Python. Python with tkinter outputs the fastest and easiest wa
7 min read
Python | Simple calculator using Tkinter
Prerequisite : Tkinter IntroductionPython offers multiple options for developing GUI (Graphical User Interface). Out of all the GUI methods, tkinter is the most commonly used method. It is a standard Python interface to the Tk GUI toolkit shipped with Python. Python with tkinter outputs the fastest and easiest way to create the GUI applications. Cr
3 min read
Practice Tags :
three90RightbarBannerImg