Форум сайта python.su
xam1816Добрый день.
Офлайн
Dima-vvolвместо одного значения, сделать список правильных вариантов.
Как сделать, что бы несколько вариантов ответов были правильные в вопросе? а не только 1 как у вас в коде.
пример: test_question_list.append(TestQuestion(“2+2*2”, ‘b’, {'a': ‘8’, ‘b’: ‘6’}))
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]
Офлайн
Офлайн
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.
______________________
Офлайн
xam1816Спасибо.
Офлайн