2015-10-17 29 views
-1

我无法让我的计算器工作。当我运行它时,它说y elif语句是无效的,函数在这个clode块之上,它应该工作。我的python计算器给出了一个无效的语法错误

choice = raw_input("chose an operator [1,2,3,4]") 
num1 = raw_input("input number 1") 
num2 = raw_input("input number 2") 

if choice == 1: 
    print(num1,"+",num2,"=",add(num1,num2) 

elif choice == 2: 
    print(num1,"-",num2,"=",minus(num1,num2) 

elif choice == 3: 
    print(num1,"x",num2,"=",times(num1,num2) 

elif choice == 4: 
    print(num1,"/",num2,"=",divide(num1,num2) 
else: 
    print("that's not a valid operator") 

,这里是我的错误

File "calculator.py", line 27 
    elif choice == 2: 
+0

你错过了一个')''中的每elif''print'后。它应该是'print(num1,“+”,num2,“=”,add(num1,num2)),而不是print(num1,“+”,num2,“=”,add(num1,num2) ' –

+0

你错过了最后一个'''除最后一个 – 2015-10-17 19:28:56

+0

以外,如果你使用Python 2.x,你需要在if语句中的每个数字周围放置''“'if if choice ==”1 “'因为raw_input告诉它是一个字符串 – 2015-10-17 19:31:30

回答

2

你缺少除了最后一个所有你的打印语句关闭)

0

你在每一行缺少)

if choice == 1: 
    print(num1,"+",num2,"=",add(num1,num2) # <--- needs) to close 

注: 的raw_input “询问” 的字符串值,你的情况,你应该改变

if choice == 1:  

if choice == "1": 

否则只是使用输入

例如:

choice = input("chose an operator [1,2,3,4]:\n") # <- added \n, puts a new line at that point 
+0

谢谢我只是把raw_input改成了输入。 –