为什么在我的Python程序中出现“预期表达”错误?这是我的整个代码:

时间:2019-12-04 00:25:30

标签: python tkinter

我的代码应该是一个带有按钮的简单计算器,用于显示答案。我仅添加了一条注释,该注释告诉您操作的代码在哪里。我有6种不同的运算,加,减,除,乘,求平方和平方根。
到目前为止,这是我的代码:

while True:
    import math
    import tkinter.messagebox

# Simple Operations
    num1 = float(input("Please enter a number: "))
    op = input("Please enter an operation (+, -, /, *, 0, 1): ")

    if op == "0":
        def onClick():
            tkinter.messagebox.showinfo("Square Root", math.sqrt(num1))


        root = tkinter.Tk()
        button = tkinter.Button(root, text="Show Answer", command=onClick)
        button.pack()
        root.mainloop()

    elif op == "1":
        def onClick():
            tkinter.messagebox.showinfo("Square", num1*num1)


        root = tkinter.Tk()
        button = tkinter.Button(root, text="Show Answer", command=onClick)
        button.pack()
        root.mainloop()
        num2 = float(input("Please enter another number: "))enter code here

    elif:
       if op == "+":
           def onClick():
               tkinter.messagebox.showinfo("Addition", num1 + num2)


           root = tkinter.Tk()
           button = tkinter.Button(root, text="Show Answer", command=onClick)
           button.pack()
           root.mainloop()

       elif:
        if op == "-":
           def onClick():
               tkinter.messagebox.showinfo("Subtraction", num1 - num2)

       root = tkinter.Tk()
       button = tkinter.Button(root, text="Show Answer", command=onClick)
       button.pack()
       root.mainloop()

       if op == "*":
           def onClick():
               tkinter.messagebox.showinfo("Multiplication", num1 * num2)

       root = tkinter.Tk()
       button = tkinter.Button(root, text="Show Answer", command=onClick)
       button.pack()
       root.mainloop()

       if op == "/":
           def onClick():
               tkinter.messagebox.showinfo("Division", num1 / num2)

       root = tkinter.Tk()
       button = tkinter.Button(root, text="Show Answer", command=onClick)
       button.pack()
       root.mainloop()

       else:
            print("Invalid")

一切正常,直到出现错误提示“期望表达”为止,一切正常:

elif:
       if op == "+":
           def onClick():
               tkinter.messagebox.showinfo("Addition", num1 + num2)

1 个答案:

答案 0 :(得分:0)

就像错误消息指出的那样,elif需要一个表达式。您需要将elif和以下if合并为一个语句:

elif op == "+":