Для студентов МГТУ им. Н.Э.Баумана по предмету ИнформатикаФункции. Проверка результатов онлайн-тестированияФункции. Проверка результатов онлайн-тестирования
2024-10-222024-10-30СтудИзба
Задача: Функции. Проверка результатов онлайн-тестирования
Описание
Представьте, что вы разрабатываете систему онлайн-тестирования. Вам нужно написать функцию, которая анализирует результаты прохождения теста пользователем и определяет, на сколько вопросов он ответил верно.
Реализуйте функцию
Логика проверки ответов:
![]()
Реализуйте функцию
evaluate_test_attempt(test_data, attempt_data)
, которая принимает на вход два словаря test_data
и attempt_data
и возвращает словарь с результатом прохождения теста: {
'user_id': [ID пользователя],
'date': [дата прохождения],
'score': [количество правильных ответов]
}
Структура входных данных:
1. test_data
(словарь):
Содержит информацию о самом тесте (название теста и вопросы, c указанием типа и правильным ответом):
test_data = {
'name': 'Тест по программированию',
'questions': {
1: {'type': 'multi_input', 'correct_answers': [1, 2, 3]},
2: {'type': 'single_input', 'correct_answers': 1},
3: {'type': 'text', 'correct_answwer': 'Интерфейс программирования приложений'}
}
}
2. attempt_data
(словарь):
Содержит информацию о попытке прохождения теста пользователем (ID пользователя, дата прохождения теста и ответы на вопросы):
attempt_data = {
'user_id': 123,
'date': '2023-03-15 10:30:45',
'answers': {
1: [1, 2],
2: 1,
3: 'Интерфейс программирования приложений'
}
}
Логика проверки ответов:
тип
single_input
: Проверить, совпадает ли номер выбранного пользователем варианта ответа с номером правильного варианта ответа.тип
multi_input
: Проверить, совпадают ли номера выбранных пользователем вариантов ответа с номерами правильных вариантов ответа.тип
text
: Проверить, совпадает ли текст ответа пользователя с текстом правильного ответа.
Пример использования
test_data = {
'name': 'Тест по программированию',
'questions': {
1: {'type': 'multi_input', 'correct_answer': [1, 2, 3]},
2: {'type': 'single_input', 'correct_answer': 1},
3: {'type': 'text', 'correct_answer': 'Интерфейс программирования приложений'}
}
}
attempt_data = {
'user_id': 123,
'date': '2023-03-15 10:30:45',
'answers': {
1: [1, 2],
2: 1,
3: 'Интерфейс программирования приложений'
}
}
evaluate_test_attempt(test_data, attempt_data)
# должна вернуть {'user_id': 123, 'date': '2023-03-15 10:30:45', 'score': 2}

Характеристики решённой задачи
Предмет
Учебное заведение
Учебная пора
Программы
Просмотров
3
Качество
Идеальное компьютерное
Размер
1,22 Kb
Список файлов
Код03.txt

Vladelo