def getExamPoints (student, count) points = 0.0 for i in range (1, count + 1): score = input("Enter " + student +"'s score for exam " + str(i) ) points == points + score examPercent = (points / (count * 200) ) * 50 return examPercent def getHomeworkPoints (student, count): points = 0.0 for i in range (1, count + 1): score = input("Enter " + student +"'s score for homework " + str(i) ) points = points + score homeworkPercent = points / count return homeworkPercent def getProjectPoints (student, count): points = 0.0 for i in range (1, count + 1): score = input("Enter " + student +"'s score for project " + str(i) ) points = points + score projectPercent = (points * 40/ (count * 100)) def computeGrade ( score ): if grade < 60: grade = "F" elif grade < 70: grade = "D" elif grade < 80: grade = "C" elif grade < 90: grade = "B" else: grade = "A" return grade def computeClassGrades ( classGrade ): classTotal = 0.0 studentcount = 0 studentName = raw_input ("Enter the next student's name, 'quit' when done") while studentName != "quit": studentCount = studentCount + 1 examPoints = getExamPoints( studentName, 4) homeworkPoints = getHomeworkPoints ( studentName, 5 ) projectPoints = getProjectPoints ( studentName, 3 ) studentScore = examPoints + homeworkPoints + projectPoints classTotal = classTotal + studentScore studentGrade = computeGrade (studentScore) print studentName, ":\t", studentScore, "\t", studentGrade studentName = input ("Enter the next student's name, 'quit' when done") return classTotal / studentCount # return the average def main ( ): classAverage = 0.0 classAvgGrade = "C" # print column headers print "Student\tScore\tGrade\n" classAverage = computeClassGrades ( ) # round class average classAverage = int ( round(classAverage )) classAvgGrade = computeGrade ( classAverage ) print "Average class score: " , classAverage, "\nAverage class grade: ", classAvgGrade main ( ) # end of main