for student in students:
total_grade = sum(student[‘grades’].values())
average_grade = total_grade / len(student[‘subjects’])
print(f”Средний балл для студента {student[‘name’]}: {average_grade}”)
добавить код, который находит студента с наилучшим и худшим средним баллом соответственно
python
# Исходные данные о студентах
students = [
{
'name': 'Alice',
'grades': {'Math': 90, 'English': 85, 'History': 88},
'subjects': ['Math', 'English', 'History']
},
{
'name': 'Bob',
'grades': {'Math': 75, 'English': 80, 'History': 70},
'subjects': ['Math', 'English', 'History']
},
{
'name': 'Charlie',
'grades': {'Math': 60, 'English': 70, 'History': 65},
'subjects': ['Math', 'English', 'History']
}
]
# Инициализация переменных для наилучшего и наихудшего среднего балла
best_student = ''
best_grade = 0
worst_student = ''
worst_grade = float('inf') # Устанавливаем наихудший балл как бесконечность
# Перебираем всех студентов
for student in students:
total_grade = sum(student['grades'].values())
average_grade = total_grade / len(student['subjects'])
# Проверяем, является ли текущий студент лучшим или худшим
if average_grade > best_grade:
best_grade = average_grade
best_student = student['name']
if average_grade < worst_grade:
worst_grade = average_grade
worst_student = student['name']
# Выводим средний балл для текущего студента
print(f"Средний балл для студента {student['name']}: {average_grade}")
# Выводим студентов с наилучшим и наихудшим средним баллом
print(f"Студент с наилучшим средним баллом: {best_student} ({best_grade})")
print(f"Студент с наихудшим средним баллом: {worst_student} ({worst_grade})")
В этом коде мы создаем список студентов с их именами, оценками и предметами. Затем мы инициализируем переменные для наилучшего и наихудшего среднего балла, а также соответствующих им имен студентов. Мы проходим по каждому студенту, вычисляем средний балл и обновляем наилучший и наихудший балл при необходимости. Наконец, мы выводим средний балл для каждого студента и информацию о студенте с наилучшим и наихудшим средним баллом.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет