2014-12-07 42 views
-1

我的代碼的elif語句中出現無效的sytnax錯誤。我究竟做錯了什麼?Python 3程序中的Elif語法錯誤

# define the functions for each math operation 
# 
def add (a, b) : 

    return a + b 

def subtract (a, b) : 

    return a - b 

def multiply (a, b) : 

    return a * b 

def divide (a, b) : 

    return a/b 

def remainder (a, b) : 

    return a % b 

def welcome_message (first_name) : 
    print ("Hi ", first_name, " " ". Welcome to Project 3!") 

welcome_message("Prof. Shah") 

loop = 1 

while loop ==1: 
    print ("Select operation.") 
    print ("1. Add") 
    print ("2. Subtract") 
    print ("3. Multiply") 
    print ("4. Divide") 
    print ("5. Remainder") 
    choice = input("Enter choice :") 
    num1 = int(input |"Please enter your first number: ") 
    num2 = int(input |"Please enter your second number: ") 

    if choice == '1' : 
       print(num1, "+", num2, "=", add (num1,num2) 
     elif choice == '2' : 
       print(num1, "-", num2, "=", subtract (num1,num2) 
     elif choice == '3' : 
       print(num1, "*", num2, "=", multiply (num1,num2) 
     elif choice == '4' : 
       print(num1, "/", num2, "=", divide (num1,num2) 
     elif choice == '5' : 
       print(num1, "%", num2, "=", remainder (num1,num2) 
+2

你知道你可以['從運營商導入添加,子,div,mul,mod'](https://docs.python.org/3/library/operator.html),對吧? – jonrsharpe 2014-12-07 20:34:44

+0

我對Python相當陌生,所以我仍然是一個正在進行的工作! LOL – CherylR 2014-12-07 20:59:21

回答

2
if choice == '1' : 
    print(num1, "+", num2, "=", add(num1,num2)) 
elif choice == '2' : 
    print(num1, "-", num2, "=", subtract(num1,num2)) 
... 

您的縮進,似乎被關閉了,你人失蹤在每個print語句結束一個右括號。

+0

Got it!謝謝Haleemur。現在,當我嘗試運行該程序時,出現以下錯誤:Traceback(最近調用最後一次): 文件「/ Users/cherylragin/Desktop/Intro to Interactive Design/Week 4 Assignments/Project3_copy_3_yes.py」,第38行, num1 = int(輸入|「請輸入您的第一個數字:」) TypeError:不受支持的操作數類型爲|:'builtin_function_or_method'和'str' – CherylR 2014-12-07 20:55:02

+0

問題在於以下兩行:'num1 = int(輸入|「請輸入您的第一個數字:」)'和'num2 = int(輸入|「請輸入您的第二個數字:」)'。試着自己解決它,不應該太難,如果你不能,請在你的嘗試後在SO上發帖。祝你好運! – 2014-12-07 21:04:09

+0

是的......我明白了:我進入了|錯誤中的符號。當我做出更正時,程序運行了,但是我無法計算它。 – CherylR 2014-12-07 21:10:49

0
if choice == '1' : 
       print(num1, "+", num2, "=", add (num1,num2) 
     elif choice == '2' : 
       print(num1, "-", num2, "=", subtract (num1,num2) 
     elif choice == '3' : 
       print(num1, "*", num2, "=", multiply (num1,num2) 
     elif choice == '4' : 
       print(num1, "/", num2, "=", divide (num1,num2) 
     elif choice == '5' : 
       print(num1, "%", num2, "=", remainder (num1,num2) 

問題在這裏。如果「if」塊將要處理,那麼你必須先從if開始,然後elif。像:

if choice == '1' : 
       print(num1, "+", num2, "=", add (num1,num2) 
elif choice == '2' : 
       print(num1, "-", num2, "=", subtract (num1,num2) 
elif choice == '3' : 
       print(num1, "*", num2, "=", multiply (num1,num2) 
elif choice == '4' : 
       print(num1, "/", num2, "=", divide (num1,num2) 
elif choice == '5' : 
       print(num1, "%", num2, "=", remainder (num1,num2)