Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- GRADES = [4,5,6,7,8,9,10]
- GRADES_DESCRIPTIONS = ["fail", "tolerable", "decent", "satisfactory", "good", "excellent", "outstanding"]
- subject_list = []
- course_amount_list = []
- grade_average_list = []
- def loppu(aineka, kurssika, maxaine, max, minaine, min):
- print("Average of all subjects is {:.1f} ({:s})".format(aineka, describe_grade_average(aineka)))
- print("Average of all courses is {:.1f} ({:s})".format(kurssika, describe_grade_average(kurssika)))
- print("The strongest subject is {:s} with average {:.1f} ({:s})".format(maxaine, max, describe_grade_average((max))))
- print("The weakest subject is {:s} with average {:.1f} ({:s})".format(minaine, min, describe_grade_average(min)))
- def input_course_grades_and_calculate_average(subject, number_of_courses):
- yht = 0
- for i in range(1, number_of_courses + 1):
- arvosana = int(input("Grade received for the course {:s} {:d}\n".format(subject, i)))
- yht += arvosana
- return yht / number_of_courses
- def calculate_averages(grade_average_list, course_amount_list):
- x = 0
- for u in grade_average_list:
- x += u
- aineka = x/len(grade_average_list)
- x = 0
- y = 0
- for o in range(len(course_amount_list)):
- x += course_amount_list[o]*grade_average_list[o]
- y += course_amount_list[o]
- kurssika = x/y
- return aineka, kurssika
- def describe_grade_average(grade_average):
- n = int(round(grade_average, 0) - 4)
- kuvaus = GRADES_DESCRIPTIONS[n]
- return kuvaus
- def find_strongest_and_weakest_subject(subject_list, grade_average_list):
- maxx = max(grade_average_list)
- minn = min(grade_average_list)
- maxaine = subject_list[grade_average_list.index(maxx)]
- minaine = subject_list[grade_average_list.index(minn)]
- return maxx, minn, maxaine, minaine
- def main():
- print("The program calculates averages and analyzes your school performance.")
- subject = input("Enter the next subject:\n")
- subject_list.append(subject)
- while subject != "":
- number_of_courses = int(input("How many courses of {:s} did you attend?\n".format(subject)))
- course_amount_list.append(number_of_courses)
- ka = input_course_grades_and_calculate_average(subject, number_of_courses)
- grade_average_list.append(ka)
- subject = input("Enter the next subject:\n")
- subject_list.append(subject)
- aineka, kurssika = calculate_averages(grade_average_list, course_amount_list)
- maxx, minn, maxaine, minaine = find_strongest_and_weakest_subject(subject_list, grade_average_list)
- loppu(aineka, kurssika, maxaine, maxx, minaine, minn)
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement