我有以下代码:
p=3.14159
#Function to circleArea
def circleArea(A):
A=r*r*p
radius=r
return radius
#Main Program
r=int(input("Enter radius: "))
print("The area of the circle is:" )
print(circleArea(A))
为什么下面的行会产生此错误?
print(circleArea(A))
NameError:未定义名称“A”
答案 0 :(得分:6)
您似乎希望从r*r*p
函数返回circleArea()
并将r
作为参数传递。此外,您可能希望使用math.pi而不是硬编码它的值:
import math
#Function to circleArea
def circleArea(r):
return r * r * math.pi
#Main Program
r=int(input("Enter radius: "))
print("The area of the circle is:" )
print(circleArea(r))
样本:
Enter radius: 10
The area of the circle is:
314.159265359
答案 1 :(得分:4)
在您的函数定义中,A
只是函数内部的局部变量。您要传入的变量实际上称为r
。所以,相反,你想:
print(circleArea(r))
您还希望将函数声明更改为:
def circleArea(r):