У меня есть этот код для викторины, но появляется только первый вопрос. Я могу ответить на первый вопрос, и оценка будет соответствующим образом скорректирована, однако следующий вопрос никогда не появится. Я пробовал исследовать цикл через кортежи и играл с моим кодом, но безрезультатно. Я новичок в Python и буду признателен за помощь. Я потратил несколько часов на это, поверьте мне.Tuple looping (думаю)
from tkinter import *
root = Tk()
root.title("End of year exam")
score = 0
def submit_button_clicked():
global score
global questions
score = 0
if answer.get() == questions[0][1]:
score+=1
else:
score = score
scoretxt.config(text = "Your score is: {}".format(str(score)))
questions =[("What does 13 + 5 = ?","18"),("What does 12 + 8 = ?","20"),("What does 19 + 6 = ?","25"),("What does 17 + 15 = ?","32")]
Label(root,text = "Question : ",bg ="light grey").grid(row = 0,column = 0, sticky = W)
question=Label(root,bg = "light green",text= questions[1][0], width = 38)
question.grid(row =1,column=0)
Label(root,text = "Answer: ",bg = "light grey").grid(row = 2, column = 0, sticky = W)
answer = Entry(root,bg ="white",width = 45, justify = CENTER)
answer.grid(row = 3,column=0)
scoretxt = Label(root,text ="Your score is:",bg = "light green", width = 38)
scoretxt.grid(row = 10,column = 0, sticky = W)
### make a submit button
Button(root,text= "Submit",bg = "light grey",command = submit_button_clicked).grid(row = 4,column = 0, sticky = W)
root.mainloop()
«появляется только первый вопрос» .. Хм, может быть, потому, что вы только делаете вопросы [1] [0] '? –
Я знаю вопросы [1] [0], чтобы отобразить первый вопрос, но я не уверен, как изменить код, чтобы он отображал следующий вопрос, скажем, при нажатии кнопки отправки. – PythonNewbie
Я не знаю, как изменить текст метки в Tkinter, но вы можете сохранить глобальную переменную, для которой вы задаете вопрос. Когда вы правильно ответите на вопрос, вы можете увеличить этот счетчик и сбросить текст на этикетке. –