使用输入读取数据时的语法错误()
我一直在尝试在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()
代替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
+
'+'
是的。为了帮助OP,它可能有助于在您回答相同的上下文中复制它们的错误,以帮助他们查看正在发生的事情。使用'+'作为输入,而不是'hello' – idjaw
@idjaw已更新,谢谢 – Hackaholic
具体来说,'input()'试图评估输入,就好像它是一个python表达式。因此,在输入中传递'5 + 7'将返回12.正如在普通脚本中一样,只是写'+'是无效的语法。 – Reti43
的Python 2或Python 3? – erip
您正在使用Python 2.使用'raw_input'而不是'input' – idjaw
关闭原因Typo,以某种方式解决.... – Drew