Программа для создания калькулятора оценок на Python
Опубликовано: 5 Марта, 2022
Приведены разные баллы учащихся. Нам нужно найти оценки. Оценка за тест - это среднее значение соответствующих оценок, набранных в заданиях, тестах и лабораторных работах. Итоговая оценка за тест присваивается по формуле, приведенной ниже.
10% оценок, полученных при подаче заданий 70% оценок за тест 20% оценок набрано в Lab-Works
Оценка будет рассчитываться в соответствии с:
1. оценка> = 90: "А" 2. оценка> = 80: "B" 3. оценка> = 70: "C" 4. оценка> = 60: "D"
Также рассчитайте общую среднюю и буквенную оценку за класс.
Рекомендуется: сначала попробуйте свой подход в {IDE}, прежде чем переходить к решению.
Below is the implementation :
# Python code for the Grade# Calculator program in action # Creating a dictionary which # consists of the student name,# assignment result test results# and their respective lab results # 1. Jack"s dictionaryjack = { "name":"Jack Frost", "assignment" : [80, 50, 40, 20], "test" : [75, 75], "lab" : [78.20, 77.20] } # 2. James"s dictionaryjames = { "name":"James Potter", "assignment" : [82, 56, 44, 30], "test" : [80, 80], "lab" : [67.90, 78.72] } # 3. Dylan"s dictionarydylan = { "name" : "Dylan Rhodes", "assignment" : [77, 82, 23, 39], "test" : [78, 77], "lab" : [80, 80] } # 4. Jessica"s dictionaryjess = { "name" : "Jessica Stone", "assignment" : [67, 55, 77, 21], "test" : [40, 50], "lab" : [69, 44.56] } # 5. Tom"s dictionarytom = { "name" : "Tom Hanks", "assignment" : [29, 89, 60, 56], "test" : [65, 56], "lab" : [50, 40.6] } # Function calculates average def get_average(marks): total_sum = sum(marks) total_sum = float(total_sum) return total_sum / len(marks) # Function calculates total averagedef calculate_total_average(students): assignment = get_average(students["assignment"]) test = get_average(students["test"]) lab = get_average(students["lab"]) # Return the result based # on weightage supplied # 10 % from assignments # 70 % from test # 20 % from lab-works return (0.1 * assignment + 0.7 * test + 0.2 * lab) # Calculate letter grade of each studentdef assign_letter_grade(score): if score >= 90: return "A" elif score >= 80: return "B" elif score >= 70: return "C" elif score >= 60: return "D" else : return "E" # Function to calculate the total# average marks of the whole classdef class_average_is(student_list): result_list = [] for student in student_list: stud_avg = calculate_total_average(student) result_list.append(stud_avg) return get_average(result_list) # Student list consisting the# dictionary of all studentsstudents = [jack, james, dylan, jess, tom] # Iterate through the students list# and calculate their respective# average marks and letter gradefor i in students : print(i["name"]) print("=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=") print("Average marks of %s is : %s " %(i["name"], calculate_total_average(i))) print("Letter Grade of %s is : %s" %(i["name"], assign_letter_grade(calculate_total_average(i)))) print() # Calculate the average of whole classclass_av = class_average_is(students) print( "Class Average is %s" %(class_av))print("Letter Grade of the class is %s " %(assign_letter_grade(class_av))) |
Выход :
Джек Фрост = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = Средняя оценка Джека Фроста: 72,79 Буквенная оценка Джека Фроста: C Джеймс Поттер = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = Средняя оценка Джеймса Поттера: 75.962 Буквенная оценка Джеймса Поттера: C Дилан Роудс = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = Средняя оценка Дилана Роудса: 75.775 Буквенная оценка Дилана Родса: C Джессика Стоун = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = Средние оценки Джессики Стоун: 48.356 Буквенная оценка Джессики Стоун: E Том Хэнкс = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = + = Средняя оценка Тома Хэнкса: 57.26 Буквенная оценка Тома Хэнкса: E Средний класс 72,79 Буквенная оценка класса C