Python 2.7 无法运行程序,但未显示任何错误

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

我无法运行该程序。但是没有错误显示代码是错误的。我想制作一个测验程序,如何将此代码与我的其他代码结合起来?我们需要使用TopLevel吗。这是我的代码:

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中的按钮将用于计算标记我已经找到了解决方案,但我的结果标记无法正常工作