Может быть несколько подходов, чтобы сделать то, что вы хотите, я бы предложил вам добавить Button
, который при нажатии проверит ответ и перейдет на следующую страницу, чтобы не было лишних проблем с оценкой, хотя я предполагаю, что вы, вероятно, есть одна страница и содержит несколько вопросов, так что вот некоторые идеи, которые можно использовать для решения вашей проблемы.
Я назначил список, в котором будет храниться правильный ответ в функции ajouter1()
и проверил, есть ли этот ответ в списке (if ans not in score_list:
). Также передавая аргумент функции с помощью lambda: ajouter1("A1")
. Вот как вы передаете параметры функции в tkinter.
Пример:
...
score_list = []
def ajouter1( ans ):
global score
if ans not in score_list:
score+=1
Score = "Bravo, Votre score est de: " + str(score) + "/10"
var_label.set(Score)
score_list.append(ans)
Q1 = Label(root, text="1) Comment se nomme le président français?", font='Helvetica 10 bold')
Q1.pack()
Q1A = Radiobutton(root, text="Nicolas Sarkozy", value=2, variable=rep1)
Q1A.pack()
Q1B = Radiobutton(root, text="Emmanuel Macron", value=1, variable=rep1, command=lambda: ajouter1('A1'))
Q1B.pack()
Q1C = Radiobutton(root, text="François Hollande", value= 3, variable=rep1)
Q1C.pack()
...
Другой подход, который я могу придумать, - когда пользователь нажимает на любой из Radiobutton
вопроса, тогда состояние этих Radiobutton
переходит отключено , поэтому пользователь не будет обманывать.
Примерно так:
def ajouter1( ans ):
global score
if ans:
score+=1
Score = "Bravo, Votre score est de: " + str(score) + "/10"
var_label.set(Score)
Q1A['state'] = 'disabled'
Q1B['state'] = 'disabled'
Q1C['state'] = 'disabled'
Q1 = Label(root, text="1) Comment se nomme le président français?", font='Helvetica 10 bold')
Q1.pack()
Q1A = Radiobutton(root, text="Nicolas Sarkozy", value=2, variable=rep1, command=lambda: ajouter1(False))
Q1A.pack()
Q1B = Radiobutton(root, text="Emmanuel Macron", value=1, variable=rep1, command=lambda: ajouter1(True))
Q1B.pack()
Q1C = Radiobutton(root, text="François Hollande", value= 3, variable=rep1, command=lambda: ajouter1(False))
Q1C.pack()