2017-10-05 83 views
0

我想寫一個代碼,但有什麼問題。 我無法打印功能的結果。 這裏是什麼錯在我的代碼迷你例如:功能Python錯誤

import math 

def area(r): 
    "It will display the area of a circle with radius r" 
    A = math.pi*r**2 
    print("The answer is:", str(A)) 
    return A 

area(3) 

print(str(A)) # This line is not working 

# NameError: name 'A' is not defined 
+1

解決您的壓痕請。 –

+0

另外,你沒有在任何地方分配'area(3)'的返回值。當函數被調用時,'return A'語句不會自動創建一個'A'變量。 –

+1

[如何從函數返回值?](https://stackoverflow.com/questions/19080943/how-to-return-a-value-from-a-function)可能的重複 –

回答

1

當你定義一個函數內的變量,它僅被定義範圍內的功能,並且不泄漏到程序的其餘部分。這就是爲什麼A不能在area函數之外訪問的原因。

使用return,您可以將值發回到函數被調用的位置。

最後兩行應該是這樣的:

total_area = area(3) 

print(str(total_area)) 
0

你也可以這樣做:

print "The answer is: " + str(area(3))