使用输入读取数据时的语法错误()

问题描述:

我一直在尝试在python GUI上编写一个简单的计算器,但我收到了语法错误消息。我是编程新手,所以我不确定是什么。使用输入读取数据时的语法错误()

Traceback (most recent call last): 
    File "C:\Users\kmart3223\Desktop\Martinez_K_Lab1.py", line 126, in <module> 
    main() 
    File "C:\Users\kmart3223\Desktop\Martinez_K_Lab1.py", line 111, in main 
    operation = input("What operations should we do (+, -, /, *):") 
    File "<string>", line 1 
    + 
    ^
SyntaxError: unexpected EOF while parsing 

代码

def main(): 
    operation = input("What operations should we do (+, -, /, *):") 
    if(operation != '+' and operation != '-' and operation != '/' and operation != '*'): 
     print ("chose an operation") 
    else: 
     variable1 = int(input("Enter digits")) 
     variable2 = int(input("Enter other digits")) 
     if (operation == "+"): 
      print (add(variable1, variable2)) 
     elif (operation == "-"): 
      print (sub(variable1, variable2)) 
     elif (operaion == "*"): 
      print (mul(variable1, variable2)) 
     else: 
      print (div(variable1, variable2)) 
main() 
+1

的Python 2或Python 3? – erip

+0

您正在使用Python 2.使用'raw_input'而不是'input' – idjaw

+0

关闭原因Typo,以某种方式解决.... – Drew

代替input()

input()使用raw_input()解释你作为一个Python表达式中输入的数据。另一方面,raw_input()返回您输入的字符串。

如果你使用python 2X使用raw_input()

>>> input()   # only takes python expression 
>>> input() 
+ 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "<string>", line 1 
    + 
    ^
SyntaxError: unexpected EOF while parsing 
>>> input() 
'+'     # string ok 
'+' 
>>> input() 
7     # integer ok 
7 
>>> raw_input()    # Takes input as string 
+ 
'+' 
+1

是的。为了帮助OP,它可能有助于在您回答相同的上下文中复制它们的错误,以帮助他们查看正在发生的事情。使用'+'作为输入,而不是'hello' – idjaw

+1

@idjaw已更新,谢谢 – Hackaholic

+0

具体来说,'input()'试图评估输入,就好像它是一个python表达式。因此,在输入中传递'5 + 7'将返回12.正如在普通脚本中一样,只是写'+'是无效的语法。 – Reti43