2015-12-21 78 views
1

當我嘗試在函數add中調用a,b時,我得到的是一個未定義的事件,儘管我正在返回值。有人能幫助我,我該如何讓它返回a和b?如何將一個函數的多個變量用於另一個函數?

def numbers(): 
     a= input ("a:") 
     a = int(a) 
     b= input ("b:") 
     b = int(b) 
     return a 
     return b 

def add(): 
    numbers() 
    print (a) 
    print (b) 
add() 

任何建議或幫助將是偉大的。

謝謝

回答

4

一個return聲明幾乎總是導致功能立即終止,並在功能上沒有其他的語句將運行。所以一旦你回到a,你永遠不會去return b。您需要同時返回它們兩個。

此外,從函數返回值不會自動將這些名稱放入調用該函數的作用域中。您需要手動將值分配給某些內容。

def numbers(): 
     a= input ("a:") 
     a = int(a) 
     b= input ("b:") 
     b = int(b) 
     return a,b 

def add(): 
    a,b = numbers() 
    print (a) 
    print (b) 

add() 
+0

非常感謝。我爲一個班級做Python,但我沒有很好的基礎知識。這是我正在尋找的。 – Sam

0

我是這樣認爲的:


def numbers(): 
     a= input ("a:") 
     a = int(a) 
     b= input ("b:") 
     b = int(b) 
     return a, b 

def add(a, b): 
    print (a) 
    print (b) 
    return a, b 

def main(): 
    another_a, another_b = numbers() 
    another_a, another_b = add(another_a, another_b) 

main() 
相關問題