-2

我有以下代码:

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”未定义

4

2 回答 2

6

看来您想r*r*pcircleArea()函数返回并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
于 2013-09-08T11:42:18.950 回答
4

在你的函数定义中,A只是函数内部的一个局部变量。您要传入的变量实际上称为r. 所以,相反,你想要:

print(circleArea(r))

您还希望将函数声明更改为:

def circleArea(r):
于 2013-09-08T11:41:07.173 回答