Python 2.7 无法运行程序,但未显示任何错误
我无法运行该程序。但是没有错误显示代码是错误的。我想制作一个测验程序,如何将此代码与我的其他代码结合起来?我们需要使用TopLevel吗。这是我的代码:Python 2.7 无法运行程序,但未显示任何错误,python-2.7,user-interface,python-3.x,coding-style,Python 2.7,User Interface,Python 3.x,Coding Style,我无法运行该程序。但是没有错误显示代码是错误的。我想制作一个测验程序,如何将此代码与我的其他代码结合起来?我们需要使用TopLevel吗。这是我的代码: import Tkinter MathsEasyLevel1 = Tkinter.Tk() MathsEasyLevel1.geometry("320x260") MathsEasyLevel1.title("Mathematics Easy") total = 0 getanswer = Tkinter.IntVar() getanswer
import Tkinter
MathsEasyLevel1 = Tkinter.Tk()
MathsEasyLevel1.geometry("320x260")
MathsEasyLevel1.title("Mathematics Easy")
total = 0
getanswer = Tkinter.IntVar()
getanswer2 = Tkinter.StringVar()
def userinput():
Answer1 = getanswer.get()
if Answer1 == 8 :
total = total + 1
MathsEasyLevel1.withdraw()
MathsEasyLevel2.deiconify()
else :
total = total
MathsEasyLevel1.withdraw()
MathsEasyLevel2.deiconify()
return
def userinput2():
Answer2 = getanswer2.get()
if Answer2 == B :
total = total + 1
MathsEasyLevel2.withdraw()
ResultBox.deiconify()
else :
total = total
MathsEasyLevel2.withdraw()
ResultBox.deiconify()
return
LabelName1 = Tkinter.Label (MathsEasyLevel1, text="Question 1", font=("Impact",20))
LabelName1.grid(row=0,column=2,sticky="new")
LabelName2 = Tkinter.Label (MathsEasyLevel1, text="State the number of edges in a cube")
LabelName2.grid(row=1,column=0)
LabelName2.pack()
TxtBoxName = Tkinter.Entry (MathsEasyLevel1, textvariable= getanswer)
TxtBoxName.grid(row=2,column=0)
TxtBoxName.pack()
MathsEasyLevel2 = Tkinter.Tk()
MathsEasyLevel2.geometry("320x260")
MathsEasyLevel2.title("Mathematics Easy")
BtnName = Tkinter.Button (MathsEasyLevel1, text="Next", command=userinput).pack()
LabelName3 = Tkinter.Label (MathsEasyLevel2, text="Question 2", font=("Impact",20))
LabelName3.grid(row=0,column=2,sticky="new")
LabelName3 = Tkinter.Label (MathsEasyLevel2, text="What is the place value of the digit 4 in 76421?")
LabelName3.grid(row=1,column=0)
LabelName3.pack()
LabelName4 = Tkinter.Label (MathsEasyLevel2, text="A.Thousands B.Hundreds C.Ones D.Tens")
LabelName4.grid(row=2,column=0)
LabelName4.pack()
TxtBoxName2 = Tkinter.Entry (MathsEasyLevel2, textvariable= getanswer2)
TxtBoxName2.grid(row=3,column=0)
TxtBoxName2.pack()
BtnName2 = Tkinter.Button (MathsEasyLevel2, text="Next", command=userinput2).pack()
MathsEasyLevel2.withdraw()
ResultBox = Tkinter.Tk()
ResultBox.geometry("320x260")
ResultBox.title("Results")
LabelName5 = Tkinter.Label (ResultBox, text="Total correct answers :"+ `total` , font=("Impact",20))
LabelName5.grid(row=1,column=0,sticky="new")
LabelName5 = Tkinter.Label (ResultBox, text="Marks : "+`(total/2*100)`, font=("Impact",20))
LabelName5.grid(row=2,column=0)
ResultBox.withdraw()
def userinput3():
ResultBox.withdraw()
MenuBox.deiconify()
return
MathsEasyLevel1.mainloop()
请提供更多信息,说明您是如何尝试运行此功能的,以及您获得的“输出”是什么。你有错误吗?它运行正常吗?此外,我建议使用主类,而不是试图在文件中间运行代码。
@编辑,下次请尝试使标题更具代表性(语言等)我已经找到解决方案,但结果框的标记不起作用。它不计算总数。这是我的新代码:
import Tkinter
import tkMessageBox
#easybox1
EasyBox1 = Tkinter.Tk()
EasyBox1.geometry("250x200")
EasyBox1.title("Quesion 1")
Tkinter.Label (EasyBox1, text="answer:").pack()
answr1 = Tkinter.Entry (EasyBox1)
answr1.pack()
LabelName2 = Tkinter.Label (EasyBox1, text="State the number of edges in a cube")
LabelName2.grid(row=1,column=0)
LabelName2.pack()
def next1():
total = 0
if not answr1.get():
tkMessageBox.showerror('no answer')
elif answr1.get() == 8 :
total = total + 1
EasyBox1.withdraw()
EasyBox2.deiconify()
elif answr1.get() != 8:
total = total
EasyBox1.withdraw()
EasyBox2.deiconify()
return
#easybox2
EasyBox2 = Tkinter.Tk()
EasyBox2.geometry("250x200")
EasyBox2.title("Quesion 2")
Tkinter.Label (EasyBox2, text="answer:").pack()
answr2 = Tkinter.Entry (EasyBox2)
answr2.pack()
LabelName2 = Tkinter.Label (EasyBox2, text="What is the place value of the digit 4 in 76421?")
LabelName2.grid(row=1,column=0)
LabelName2.pack()
LabelName2 = Tkinter.Label (EasyBox2, text="A.Thousands B.Hundreds C.Ones D.Tens")
LabelName2.grid(row=1,column=0)
LabelName2.pack()
def mark():
total = 0
if not answr2.get():
tkMessageBox.showerror('no answer')
elif answr2.get() in ["B", "b"]:
total = total + 1
EasyBox1.withdraw()
ResultBox.deiconify()
else:
total = total
EasyBox1.withdraw()
ResultBox.deiconify()
EasyBox2.withdraw()
total = 0
ResultBox = Tkinter.Tk()
ResultBox.geometry("320x260")
ResultBox.title("Results")
LabelName5 = Tkinter.Label (ResultBox, text="Marks : "+`total`, font=("Impact",20))
LabelName5.grid(row=2,column=0)
ResultBox.withdraw()
Tkinter.Button (EasyBox1, text="Next", command=next1).pack()
Tkinter.Button (EasyBox2, text="result", command=mark).pack()
EasyBox1.mainloop()
@我希望这是我的另一个代码与级别代码相结合,但我想先测试它,但它没有run@adrianus你能查一下我的问题吗我的分数函数在resultbox中无法正常工作我的输出是显示总分的结果框deiconify。在resultbox deiconify之前,MatheasyLevel 2 show中的按钮将用于计算标记我已经找到了解决方案,但我的结果标记无法正常工作