2012-11-02 47 views
0

我想讓我的函數接受兩個參數,並返回它們的總和。我是否以正確的方式去做這件事?這是我到目前爲止有:不斷收到語法錯誤。我需要做什麼?

def my_sum(a, b): 
    sum = a + b 

def main(): 
    a = input(int("enter a number: ", a) 
    b = input(int("enter a number: ", b) 

    sum = a + b 

    return sum 
    print(" result: ", sum) 

main() 

回答

4

因此,它看起來不錯,但主要的問題是,你實際上並沒有調用你的函數:)一旦你得到你的兩個號碼,可以然後撥打電話到你的函數(您已正確設置):

def main(): 
    # When you assign variables here, make sure you are putting the int outside 
    # You also don't need to reference the variable twice 
    a = int(input("enter a number: ")) 
    b = int(input("enter a number: ")) 

    # Here is where your call goes (try to avoid using variable names that 
    # are the same as Python keywords, such as sum) 
    s = my_sum(a, b) 

    print(" result: ", s) 

現在,你需要做的另一件事情就是修改你的函數返回一個值。你已經差不多了 - 只需添加一個回報(注意,因爲你只是返回兩個數字的總和,你不必把它分配給一個變量):

def my_sum(a, b): 
    return a + b 

現在,這意味着,當您運行s = my_sum(a, b)時,您的函數將返回這兩個數字的總和並將它們放入s,然後您可以按照您的要求打印。其他

一個次要的事情 - 當你使用你的設置(與def main(),等等),你平時怎麼稱呼它是這樣的:

if __name__ == '__main__': 
    main() 

在這個階段,不要太擔心關於它是什麼意思,但是一旦你開始進入模塊等有趣的東西,進入它是一個好習慣。:)

0
  1. return sumprint功能將無法正常工作,因爲返回一個返回值時,執行將退出範圍,訂單應該被逆轉。

  2. 您的輸入功能未正確實施。

正確的代碼應該是:

def main(): 

    a = input("enter a number: ") 
    b = input("enter a number: ") 
    sum = a + b  
    print(" result: ", sum)  
    return sum 
+0

回滾編輯。這是用Python 3標記的。原文是正確的。 –

0

你寫了錯誤的編碼風格 如果你想要使用sum方法做一些比這樣做

def my_sum(a, b): 
    sum = a + b 
    return sum 


def main(): 
    a = int(raw_input("enter a number: ")) 
    b = int(raw_input("enter a number: ")) 

    sum = my_sum(a,b) 
    print" result: ", sum 


main() 

我希望這將按照您的要求工作。 Regards, Anil

0

我不確定你在那裏定義的第一個函數的目的(my_sum)。但是,main也有一些錯誤。 return函數總是退出它所在的函數,並縮小到更高級別的範圍。這與break非常相似,只是它也返回一個值。另外,當您詢問用戶輸入時,您的語法不正確。它應該是:

def main(): 
    a = int(raw_input("Enter a number: ")) 
    b = int(raw_input("Enter a number: ")) 

    return "Result" + (a+b) 

main() 

另外,如果你想my_sum自動返回的總和,你應該使用returnprint

def my_sum(a, b): 
    return a + b 
相關問題