Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 23, 2024 11:25:45

ant976
Зарегистрирован: 2024-08-14
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

система расчёта статистик успеваемости студентов

Здравствуйте!

Решаю задачку “статистика успеваемости студентов”
В рекомендациях указано “Для хранения оценок может оказаться полезным использование списка словарей: каждый словарь хранит оценки только одного студента, а ключи в словаре — это названия предметов.”
Получаю список словарей:

Список вида
'предмет': ‘user’: оценка , ….
Вопрос: как его проитерировать чтобы получить студента с лучшей успеваемостью и средний балл по предметам ?

Если есть возможность, помогите, пожалуйста.
Спасибо.

Отредактировано ant976 (Авг. 23, 2024 11:30:05)

Офлайн

#2 Авг. 24, 2024 19:39:53

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1352
Репутация: +  118  -
Профиль   Отправить e-mail  

система расчёта статистик успеваемости студентов

ant976
Вопрос: как его проитерировать чтобы получить студента с лучшей успеваемостью и средний балл по предметам ?

Перебор пары ключ:значение, это базовый прием. Можно использовать например метод
  
some_dict.items()

например

  
grade = {
    'math': {
        'Ivanov': [5, 4, 3, 5, 4, 4],
        'Petrov': [5, 4],
        'Sidorov': [2, 3, 3, 4, 3]
    },
    'geometry': {
        'Ivanov': [4, 4, 5, 4, 2, 4],
        'Petrov': [5, 4, 5, 3],
        'Sidorov': [3, 4, 5, 3, 3]
    }
}
for subject, users in grade.items():
    print(subject, '=', users)
    print('==============')
    for user, estimates in users.items():
        print(user, '=', estimates)
    print('================')

 
math = {'Ivanov': [5, 4, 3, 5, 4, 4], 'Petrov': [5, 4], 'Sidorov': [2, 3, 3, 4, 3]}
==============
Ivanov = [5, 4, 3, 5, 4, 4]
Petrov = [5, 4]
Sidorov = [2, 3, 3, 4, 3]
================
geometry = {'Ivanov': [4, 4, 5, 4, 2, 4], 'Petrov': [5, 4, 5, 3], 'Sidorov': [3, 4, 5, 3, 3]}
==============
Ivanov = [4, 4, 5, 4, 2, 4]
Petrov = [5, 4, 5, 3]
Sidorov = [3, 4, 5, 3, 3]
================

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version