program to calculate total marks percentage and grade of a student in Python
In this post, you will learn how to find the grade of a student. For this, we are taking the marks of five subjects and calculating a student's grade based on the percentage of those five subjects.
The following Python program allows a user to enter five different values for five subjects. For this, we have defined a class and taken five parameters from calling the function. Next, we have defined different functions to calculate the total and percentage of those five subjects.
# Python code to find student grade
class StudentResult:
def __init__(self):
self.__roll=0
self.__name=""
self.__marks=[]
self.__total=0
self.__per=0
self.__grade=""
self.__result=""
def studentData(self):
self.__roll=int(input("Enter student roll: "))
self.__name=input("Enter student name: ")
print("Enter marks of five subjects: ")
for i in range(5):
self.__marks.append(int(input("Subject "+str(i+1)+": ")))
def calTotalMarks(self):
for x in self.__marks:
self.__total+=x
def calPercentage(self):
self.__per=self.__total/5
def calGrade(self):
if self.__per>=85:
self.__grade="A+"
elif self.__per>=75:
self.__grade="A"
elif self.__per>=65:
self.__grade="B"
elif self.__per>=55:
self.__grade="C"
elif self.__per>=50:
self.__grade="D"
else:
self.__grade="F"
def getResult(self):
count=0
for x in self.__marks:
if x>=50:
count+=1
if count==5:
self.__result="PASS"
elif count>=3:
self.__result="COMP."
else:
self.__result="FAIL"
def showStudent(self):
self.studentData()
self.calTotalMarks()
self.calPercentage()
self.calGrade()
self.getResult()
print(self.__roll,"\t\t",self.__name,"\t\t",self.__total,"\t\t",self.__per,"\t\t",self.__grade,"\t\t",self.__result)
def main():
# object is created for StudentResult
s=StudentResult()
s.showStudent()
if __name__=="__main__":
main()
Output of the above code -
Enter student roll: 101
Enter student name: Priska Kashyap
Enter marks of five subjects:
Subject 1: 78
Subject 2: 76
Subject 3: 64
Subject 4: 83
Subject 5: 66
101 Priska Kashyap 367 73.4 B PASS
Post a Comment