Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.63 KB | None | 0 0
  1. GRADES = [4,5,6,7,8,9,10]
  2. GRADES_DESCRIPTIONS = ["fail", "tolerable", "decent", "satisfactory", "good", "excellent", "outstanding"]
  3. subject_list = []
  4. course_amount_list = []
  5. grade_average_list = []
  6.  
  7.  
  8. def loppu(aineka, kurssika, maxaine, max, minaine, min):
  9. print("Average of all subjects is {:.1f} ({:s})".format(aineka, describe_grade_average(aineka)))
  10. print("Average of all courses is {:.1f} ({:s})".format(kurssika, describe_grade_average(kurssika)))
  11. print("The strongest subject is {:s} with average {:.1f} ({:s})".format(maxaine, max, describe_grade_average((max))))
  12. print("The weakest subject is {:s} with average {:.1f} ({:s})".format(minaine, min, describe_grade_average(min)))
  13.  
  14.  
  15. def input_course_grades_and_calculate_average(subject, number_of_courses):
  16. yht = 0
  17. for i in range(1, number_of_courses + 1):
  18. arvosana = int(input("Grade received for the course {:s} {:d}\n".format(subject, i)))
  19. yht += arvosana
  20.  
  21. return yht / number_of_courses
  22.  
  23.  
  24.  
  25.  
  26. def calculate_averages(grade_average_list, course_amount_list):
  27. x = 0
  28. for u in grade_average_list:
  29. x += u
  30. aineka = x/len(grade_average_list)
  31. x = 0
  32. y = 0
  33. for o in range(len(course_amount_list)):
  34. x += course_amount_list[o]*grade_average_list[o]
  35. y += course_amount_list[o]
  36.  
  37. kurssika = x/y
  38. return aineka, kurssika
  39.  
  40.  
  41. def describe_grade_average(grade_average):
  42. n = int(round(grade_average, 0) - 4)
  43. kuvaus = GRADES_DESCRIPTIONS[n]
  44. return kuvaus
  45.  
  46.  
  47. def find_strongest_and_weakest_subject(subject_list, grade_average_list):
  48. maxx = max(grade_average_list)
  49. minn = min(grade_average_list)
  50. maxaine = subject_list[grade_average_list.index(maxx)]
  51. minaine = subject_list[grade_average_list.index(minn)]
  52. return maxx, minn, maxaine, minaine
  53.  
  54.  
  55. def main():
  56. print("The program calculates averages and analyzes your school performance.")
  57. subject = input("Enter the next subject:\n")
  58. subject_list.append(subject)
  59. while subject != "":
  60. number_of_courses = int(input("How many courses of {:s} did you attend?\n".format(subject)))
  61. course_amount_list.append(number_of_courses)
  62. ka = input_course_grades_and_calculate_average(subject, number_of_courses)
  63. grade_average_list.append(ka)
  64. subject = input("Enter the next subject:\n")
  65. subject_list.append(subject)
  66.  
  67.  
  68. aineka, kurssika = calculate_averages(grade_average_list, course_amount_list)
  69. maxx, minn, maxaine, minaine = find_strongest_and_weakest_subject(subject_list, grade_average_list)
  70. loppu(aineka, kurssika, maxaine, maxx, minaine, minn)
  71.  
  72. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement