我正在尝试制作计算器功能。在尝试我得到语法错误。请帮我解决这个错误。
#Addition
def add(num1, num2):
return num1 + num2
#subtraction
def sub(num1, num2):
return num1 - num2
#Multiplication
def mul(num1, num2):
return num1 * num2
#Division
def div(num1, num2):
return num1 / num2
def main():
operation = input("What do you want to do +,-.*,/: ")
if(operation != '+' and operation != '-' and operation != '*' and operation != '/'):
#invalid operation
print("please enter valid operation")
else:
var1 = int(input("Enter num1: "))
var2 = int(input("Enter num2: "))
if(operation == '+'):
print(add(var1, var2))
elif(operation == '-'):
print(sub(var1, var2))
elif(operation == '*'):
print(mul(var1, var2))
else:
print(div(var1, var2))
main()
当我运行我的代码时: 我输入+, - ,*,/
Traceback (most recent call last):
File "D:\python\Calculator1.py", line 35, in <module>
main()
File "D:\python\Calculator1.py", line 19, in main
operation = input("What do you want to do +,-.*,/: ")
File "<string>", line 1
-
^
SyntaxError: unexpected EOF while parsing
答案 0 :(得分:2)
您正在使用input()
函数,该函数将输入解释为 Python代码。 -
不是有效的Python表达式,您会收到语法错误。
改为使用raw_input()
功能;它只需要用户输入并将其作为字符串返回。您的代码已经处理了转换为数字的整数。
演示:
>>> input('')
-
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
-
^
SyntaxError: unexpected EOF while parsing
>>> raw_input('')
-
'-'
你可能有一本关于Python的书或教程,假设你在这里使用Python 3。在Python 3中,raw_input()
被重命名为input()
,而input()
的Python 2实现完全被删除。