Я создаю небольшую программу, которая опрашивает людей и использует те же 4 переключателя. Мне нужно, чтобы каждый вопрос представлял новый выбор ответа для каждого нового вопроса.
Упрощенный словарь, к которому мне нужно получить доступ, выглядит следующим образом:
{"1": {"text": "America is the place where ______________ come true.", "answer": "dreams",
"points": "1", "choices":
{"1": "dreams", "2": "wishes", "3": "visions", "4": "fantasies"}},
"2": {"text": "Which artist released the album 808s & Heartbreak?", "answer": "kanye", "points":"3", "choices":
{"1": "kanye west", "2": "mike jones", "3": "kodak black", "4": "drake"}}}
и функция для возврата ответа:
def iterate_answer_choices(questions_num=1, answer_num=1):
global temp_dict
q_num = str(questions_num)
a_num = str(answer_num)
question2 = "2"
answer3 = "3"
return(temp_dict[q_num]['choices'][a_num])
Кнопка будет выглядеть следующим образом :
temp_a = StringVar()
temp_a.set(iterate_answer_choices(1, 4))
rad_btn2 = Radiobutton(window, value=2, textvariable=temp_a, indicatoron=0)
rad_btn2.pack()
Я знаю, что могу создать StringVar () для хранения текста, необходимого для кнопки, но это не изменится, когда мне понадобится новая переменная. У меня будет как минимум 10 вопросов с 4 ответами на каждый, так что это нежизнеспособно. Я также пытался связать textvalue с лямбда-функцией, возвращающей текст, но это тоже не сработало. Спасибо!