变量未定义。我该如何定义它?

时间:2013-09-08 11:40:04

标签: python

我有以下代码:

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”

2 个答案:

答案 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):