This is a python code to calculate the gpa and cgpa by abhijeet vaidya
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | # @author: Abhijeet vaidya
# @contact: abhijeetavaidya@gmail.com
# @license: MIT license(Free Open Source License)
# @Description: Gpa is Grade point average, which is use to determine the student academic pointer
# based on the value of the grade he/she acquired in single semester, where as cgpa is cumlative
# grade point average is to calculate the total credits and total grade acquired in
# his/her entire academics. Here i have determined to use grade scale of two values
# 5.0 and 10.0, many other academics may have different grading system.For a different grades and # their grade values, You can change the value in method called getGradeData.For any bug report # contact at above email-address
class Gpa(object):
# data attributes
"helps to calculate the Gpa and Cgpa"
arg1 = None
arg2 = None
subData = None
Scale = None
credits = None
initCourse = 0
initgetCredit = 0
totalCredits = 0
temp = 0
def getCourse(self):
"get the value of the no of course you registered"
self.arg1 = input("No of course you have registered: " )
pass
def getSubject(self,value):
"get the subject value"
self.arg2 = value
pass
def getScale(self):
"To get the scale value"
self.Scale = input("Enter the Scale value(Either 5 or 10): " )
pass
def getSubjectData(self):
"get the subject Data in string"
self.subData = raw_input("Enter the grade: " )
pass
def getGradeData(self):
# To calculate grade for two scale,one is for 5.0 and other one for 10.0
if self.Scale == 10:
grade1 = {'s':10,'a':9,'b':8,'c':7,'d':5,'e':3,'f':0}
x=grade1[self.subData]
else: #5.0 scale
grade2 = {'a':5,'b':4,'c':3,'d':2,'e':1,'f':0}
x=grade2[self.subData]
return x
def getCredits(self):
"get credit value"
self.credits = input("Enter the credits for a subject:" )
pass
def gpa(self):
print "Calculate GPA:"
sem = raw_input("Please Enter Semester: " )
self.getScale() #input the scale value
if self.Scale == 5 or self.Scale == 10:
self.getCourse()
if self.arg1 >= 2:
self.calculateGpa()
else:
print "In order to calculate Gpa you schould have atleast 2 subject minimum"
else:
print "you have not entered the scale correctly please try again"
pass
def calculateGpa(self):
"Method to calculate Gpa "
while self.initCourse!=self.arg1:
self.initCourse=self.initCourse+1
self.getCredits()
self.initgetCredit = self.credits
self.getSubjectData()
#type(self.getSubjectData())
self.temp = self.initgetCredit*self.getGradeData()+self.temp
self.totalCredits=self.totalCredits+self.initgetCredit
gpa = round((self.temp+.0)/(self.totalCredits+.0),2)
print "you have registered for total credits:"+" "+str(self.totalCredits)+" "+"and you have acquired GPA:\""+str(gpa)+"\""
pass
def cgpa(self):
print "Calculate your cgpa: "
semesters = input("Enter how many semester cgpa has to be found of: " )
counter = 0
tempInit = 0
tempTotalCredits = 0
self.getScale() #input the scale value
if self.Scale == 5 or self.Scale == 10:
while counter != semesters:
counter = counter+1
print "Please enter the details of the semester"+" "+str(counter)
self.getCourse()
self.calculateGpa()
tempInit = self.temp+tempInit
tempTotalCredits = tempTotalCredits + self.totalCredits
# re-assigning
self.arg1=0
self.initCourse =0
self.temp=0
self.totalCredits=0
print "\n"
cgpa = round((tempInit+.0)/(tempTotalCredits+.0),2)
print "you have registered for total credits:"+" "+str(tempTotalCredits)+" "+"and you have acquired CGPA:\""+str(cgpa)+"\" "
else:
print "you have not entered the scale correctly please try again"
pass
if __name__ == '__main__': # main method
#how to calculate it
Init = Gpa() # Creating Instance
# for calculation of Cgpa (cumulative grade point average)
Init.cgpa()
# In Order to calculate Gpa for single semester
#Init.gpa()
#output:
"""
[abhi@localhost ~]$ python gpaCalculator.py
Calculate your cgpa:
Enter how many semester cgpa has to be found of: 2
Enter the Scale value(Either 5 or 10): 10
Please enter the details of the semester 1
No of course you have registered: 2
Enter the credits for a subject:4
Enter the grade: a
Enter the credits for a subject:4
Enter the grade: c
you have registered for total credits: 8 and you have acquired GPA:"8.0"
Please enter the details of the semester 2
No of course you have registered: 3
Enter the credits for a subject:4
Enter the grade: b
Enter the credits for a subject:5
Enter the grade: a
Enter the credits for a subject:3
Enter the grade: c
you have registered for total credits: 12 and you have acquired GPA:"8.17"
you have registered for total credits: 20 and you have acquired CGPA:"8.1"
"""
|