功能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
答
当你定义一个函数内的变量,它仅被定义范围内的功能,并且不泄漏到程序的其余部分。这就是为什么A
不能在area
函数之外访问的原因。
使用return
,您可以将值发回到函数被调用的位置。
最后两行应该是这样的:
total_area = area(3)
print(str(total_area))
答
你也可以这样做:
print "The answer is: " + str(area(3))
解决您的压痕请。 –
另外,你没有在任何地方分配'area(3)'的返回值。当函数被调用时,'return A'语句不会自动创建一个'A'变量。 –
[如何从函数返回值?](https://stackoverflow.com/questions/19080943/how-to-return-a-value-from-a-function)可能的重复 –