Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 17, 2024 14:17:58

Dima-vvol
Зарегистрирован: 2024-09-16
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание теста с выбором ответов

xam1816
Добрый день.
Как сделать, что бы несколько вариантов ответов были правильные в вопросе? а не только 1 как у вас в коде.
пример: test_question_list.append(TestQuestion(“2+2*2”, ‘b’, {'a': ‘8’, ‘b’: ‘6’}))

Офлайн

#2 Сен. 20, 2024 01:25:08

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

Создание теста с выбором ответов

Dima-vvol
Как сделать, что бы несколько вариантов ответов были правильные в вопросе? а не только 1 как у вас в коде.
пример: test_question_list.append(TestQuestion(“2+2*2”, ‘b’, {'a': ‘8’, ‘b’: ‘6’}))
вместо одного значения, сделать список правильных вариантов.

Интересно конечно за собой наблюдать 4 года спустя)
сейчас бы я сделал так

  
questions = [
    {
        'text': 'Сколько будет 2+2?',
        'variants': [
            {'id':'1', 'text': '3', 'is_correct': False},
            {'id':'2', 'text': '4', 'is_correct': True},
            {'id':'3', 'text': '5', 'is_correct': False}
        ]
    },
    {
        'text': 'Прямой угол это',
        'variants': [
            {'id':'1', 'text': '90', 'is_correct': True},
            {'id':'2', 'text': '180', 'is_correct': False},
            {'id':'3', 'text': '45', 'is_correct': False}
        ]
    }
]
for q in questions:
    # выводим на экран
    print(q["text"])
    for n, variant in enumerate(q['variants'], 1):
        print(f'{n}) ',variant['text'])
    # ждем ввода ответа от пользователя
    while True:
        your_answer = input('> ')
        # проверяем есть ли такой вариант
        ids = [i['id'] for i in q['variants']]
        if your_answer in ids:
            break
    # проверяем верно или нет
    answer_correct = [(i['id'], i['text']) for i in q['variants'] if i['is_correct']][0]
    if your_answer in answer_correct[0]:
        print('Верно')
    else:
        print('Ошибка!')
        print(f'Правильный ответ: {answer_correct[0]}) {answer_correct[1]}')
        break
    print('======================================')
[code python][/code]

Офлайн

#3 Сен. 20, 2024 13:18:09

benchase
Зарегистрирован: 2024-02-24
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание теста с выбором ответов

One approach is to store the questions, answer choices, and correct answers in a list or dictionary, then use a loop to display each question, collect user input, and check if their answer is correct.
____ ___

Офлайн

#4 Сен. 20, 2024 13:24:48

benchase
Зарегистрирован: 2024-02-24
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание теста с выбором ответов

Creating a multiple-choice test in Python is a fantastic beginner project because it introduces key programming concepts in a fun and practical way. To start, you can organize the questions, answer choices, and correct answers in a list of dictionaries, where each dictionary represents a question with its possible answers and correct option. This structure makes it easy to iterate over the questions using loops.

______________________

Офлайн

#5 Сен. 20, 2024 17:00:34

Dima-vvol
Зарегистрирован: 2024-09-16
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание теста с выбором ответов

xam1816
Спасибо.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version