Рандомное значение из JSON в переменную(python)

Есть json файл:

{
   "question": {
       "main_question": "Сколько будет 2+2?",
       'answers': {
           "correct_option": "4",
           "Optionl": "5",
           "Option2": "6",
           "Option3": "7"
       }
   }
}

, в котором есть столбец, вывод которого, нужно сделать в рандомную переменную, Допустим, В должно быть равно = correct_option, остальное не важно. При другом вызове JSON, допустим A = должно быть correct_option соответственно.


Ответы (1 шт):

Автор решения: Wairua

В случае если мы не можем влиять на содержимое json файла и он дан нам как есть:

import json
from random import shuffle

if __name__ == '__main__':
    with open('./task.json', 'r', encoding='utf-8') as j_file:
        check = False
        js = json.load(j_file)['question']

        rnd_answ = list(js['answers'].values())

        while not check:
            shuffle(rnd_answ)

            answer_dict = {num: answ for num, answ in enumerate(rnd_answ, 1)}

            print(f'Задача : {js["main_question"]}:\n'
                  f'Вариант (1): {rnd_answ[0]}\nВариант (2): {rnd_answ[1]}\n'
                  f'Вариант (3): {rnd_answ[2]}\nВариант (4): {rnd_answ[3]}')

            users_answer = input('Введите номер варианта с правильным ответом : ')

            if int(users_answer) in answer_dict \
                    and answer_dict[int(users_answer)] == js['answers']['correct_option']:
                print('Верное решение')
                check = True
            else:
                print('Ответ не верный. Попробуйте еще раз')
→ Ссылка