<p>考虑到您告诉我的内容,我将整个问题提取器移动到一个新函数,并将<code>while</code>语句更改为<code>if</code>语句,这正是我想要的。感谢所有回答的人</p>
<pre><code>def wrongcheck(num):
global Questionnum, questionseasy1, questionsmedium1, questionshard1,answer,score
global choice, correctorwrong
global score1of1
login.update()
if score1of1<=listofdifnumbers[0]:
if num == 1:
if showeasybutton1["text"]== questions[score1of1].get("Answer"):
picked = showeasybutton1["text"]
choice.append(picked)
correctorwrong.append("correct")
error.showerror("Correct",("%s is the correct answer \n Welldone \n Score +1"%(picked)),icon="info")
score+=1
else:
picked = showeasybutton1["text"]
choice.append(picked)
correctorwrong.append("Wrong")
error.showerror("Wrong",("%s was the correct answer,\n You chose %s"%(questions[score1of1].get("Answer"),picked)),icon="info")
elif num == 2:
if showeasybutton2["text"]== questions[score1of1].get("Answer"):
picked = showeasybutton2["text"]
choice.append(picked)
correctorwrong.append("correct")
error.showerror("Correct",("%s is the correct answer \n Welldone \n Score +1"%(picked)),icon="info")
score+=1
else:
picked = showeasybutton2["text"]
choice.append(picked)
correctorwrong.append("Wrong")
error.showerror("Wrong",("%s was the correct answer,\n You chose %s"%(questions[score1of1].get("Answer"),picked)),icon="info")
print(correctorwrong)
print(choice)
print(score1of1)
fixquizinterfaceproblem()
def fixquizinterfaceproblem():
global timer
global login, lookwhereat2,quizconfigurationframe, AllquizSTATSlabel
global Questionnum, questionseasy1, questionsmedium1, questionshard1, MaxMarkss, MaxMarks
global questions
global sonumisone,score1of1,score
if sonumisone != (sum(listofdifnumbers)+1):
sonumisone+=1
print(score1of1,sonumisone)
if sonumisone<=listofdifnumbers[0]:
score1of1+=1
login.update()
QuestionLabelAsker["text"]=questions[score1of1].get("Question")
answers = [questions[score1of1].get("fakes"),questions[score1of1].get("Answer")]
fsos = r.choice(answers)
showeasybutton1["text"]= fsos
answers.remove(fsos)
showeasybutton2["text"]= answers[0]
showeasybutton2.config(command=lambda *args: wrongcheck(2))
showeasybutton1.config(command=lambda *args: wrongcheck(1))
showmediumbutton["state"]="disabled"
showhardbutton["state"]="disabled"
else:
pass
login.mainloop()
def quizinterfacestarter():
global timer
global login
global login, lookwhereat2,quizconfigurationframe, AllquizSTATSlabel
global Questionnum, questionseasy1, questionsmedium1, questionshard1, MaxMarkss, MaxMarks
global questions
print(questions)
print(len(questions))
screen_width = login.winfo_screenwidth()
screen_height = login.winfo_screenheight()
for widget in login.winfo_children():
widget.destroy()
height1 = int(screen_height)/4
height2 = int(screen_height)*3
tophalfframe= Frame(login,width=int(screen_width),height=height1,bg="light coral")
tophalfframe.grid(sticky="new")
goback= PhotoImage(file='icons/goback.png')
exitframebutton= Button(tophalfframe,image=goback,text="Return ",compound="left",bg='aquamarine',relief='flat', font="Ariel 25",command=subjectgoback)
exitframebutton.grid(column=1,sticky="nws")
movealonglabel = Label(text=" ",bg="light coral")
movealonglabel.grid(row=1,column=2,columnspan=2)
global QuestionLabelAsker
QuestionLabelAsker = Label(tophalfframe,text="Questions Loading ...",relief='raised', font="Ariel 20")
QuestionLabelAsker.grid(column=5,row=1,columnspan=7)
if timer == True:
initiatetimerstart = time.strftime("%H:%M:%S")
global fsos,showeasybutton1,showeasybutton2,showmediumbutton, showhardbutton, answer
showeasybutton1=Button(login,text="Answer 1",font="Ariel 30")
showeasybutton1.grid(sticky="new")
showeasybutton2=Button(login,text="Answer 2",font="Ariel 30")
showeasybutton2.grid(sticky="new")
showmediumbutton=Button(login,text="Answer 3",font="Ariel 30")
showmediumbutton.grid(sticky="new")
showhardbutton=Button(login,text="Answer 4",font="Ariel 30")
showhardbutton.grid(sticky="new")
global choice, correctorwrong,score
choice = []
correctorwrong =[]
score=0
global sonumisone
sonumisone=0
global score1of1
score1of1=0
fixquizinterfaceproblem()
login.mainloop()
</code></pre>