students = [
{ ‘name’: ‘John’,
‘age’: 20,
‘subjects’: [‘Math’, ‘Physics’, ‘History’, ‘Chemistry’, ‘English’],
‘grades’: {‘Math’: 95, ‘Physics’: 88, ‘History’: 72, ‘Chemistry’: 84, ‘English’: 90}
},
{ ‘name’:’Alice’,
‘age’: 19,
‘subjects’: [‘Biology’, ‘Chemistry’, ‘Literature’, ‘Math’, ‘Art’],
‘grades’: {‘Biology’: 80, ‘Chemistry’: 92, ‘Literature’: 78, ‘Math’: 88, ‘Art’: 86}
}
]
Средний балл по всем предметам
Вычислите средний балл по всем предметам для каждого студента в словаре students. Выведите результат в формате:
Средний балл для студента John: 85.0
python
# Определяем список студентов
students = [
{
'name': 'John',
'age': 20,
'subjects': ['Math', 'Physics', 'History', 'Chemistry', 'English'],
'grades': {'Math': 95, 'Physics': 88, 'History': 72, 'Chemistry': 84, 'English': 90}
},
{
'name': 'Alice',
'age': 19,
'subjects': ['Biology', 'Chemistry', 'Literature', 'Math', 'Art'],
'grades': {'Biology': 80, 'Chemistry': 92, 'Literature': 78, 'Math': 88, 'Art': 86}
}
]
# Функция для вычисления среднего балла по всем предметам
def average_grade(student):
# Получаем баллы за все предметы и суммируем их
total_grade = sum(student['grades'].values())
# Вычисляем количество предметов
num_subjects = len(student['grades'])
# Вычисляем средний балл
avg_grade = total_grade / num_subjects
return avg_grade
# Итерируемся по списку студентов и выводим средний балл каждого студента
for student in students:
avg_grade = average_grade(student)
print(f"Средний балл для студента {student['name']}: {avg_grade}")
Теперь давайте разберем этот код по частям:
1. Мы создали список `students`, содержащий информацию о двух студентах - John и Alice. Для каждого студента указаны имя, возраст, предметы и оценки по предметам.
2. Мы определили функцию `average_grade()`, которая вычисляет средний балл для одного студента. Функция принимает словарь студента, вычисляет сумму всех оценок и делит её на количество предметов.
3. Затем мы используем цикл `for` для прохода по списку студентов `students`. Для каждого студента мы вызываем функцию `average_grade()` и выводим результат, указывая имя студента и его средний балл.
После выполнения кода вы увидите результат в формате:
Средний балл для студента John: 85.8
Средний балл для студента Alice: 84.8
Таким образом, мы успешно вычислили средний балл по всем предметам для каждого студента в списке.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет