功能Python错误

问题描述:

我想写一个代码,但有什么问题。 我无法打印功能的结果。 这里是什么错在我的代码迷你例如:功能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)可能的重复 –

当你定义一个函数内的变量,它仅被定义范围内的功能,并且不泄漏到程序的其余部分。这就是为什么A不能在area函数之外访问的原因。

使用return,您可以将值发回到函数被调用的位置。

最后两行应该是这样的:

total_area = area(3) 

print(str(total_area)) 

你也可以这样做:

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