这是我的代码:
def Area():
area = pi * radius * radius
pi = 3.14
radius = diameter * 2
def cost():
diameter = eval(input("diamater: "))
print ("Area is", area)
cost()
它说面积没有定义,但我有一个变量叫面积!
请您参考如下方法:
area是函数中的局部变量,这意味着在该函数之外,您无法访问它。您应该阅读范围和功能。最好的解决方案是从函数中返回值,并将参数传递给其他函数。
您似乎对如何评估代码缺乏了解。代码按一系列语句依次执行。变量只有在定义后才能使用。在Area()中,您要在尝试使用变量后对其进行定义。这没有道理。
还要注意,eval()是从字符串中获取数字的一种不好的方法(它很慢,不是为达到目的而设计的,并且允许任意代码执行),请改用int()。
另请注意,PEP-8建议保留CapWords用于类,并使用lowercase_with_underscores作为函数名称,因此Area()可能应为area()。这将有助于保持代码的一致性和可读性。
