python模块无法识别变量

时间:2016-10-21 01:56:00

标签: python function module

全新的Python,参加介绍课程。我无法理解如何让模块从函数中获取返回值并使用它来执行计算 在此示例中,我从用户收集圆的半径“大小”,然后几何模块应采用大小,计算周长,并将其传递回要显示的项目文件。
虽然,无论我尝试过什么,几何模块都无法识别“size”变量。 “NameError:名称'大小'未定义”

主项目文件:

import geometry

    def main():
        size, unit = getUserInput()
        displayCircleResults(geometry.circleCircum, geometry.circleArea)

    def getUserInput():
        size = float(input('Enter length of radius: '))
        unit = input('Enter unit of measure, e/g., inches: ')
        return size, unit

geometry.py模块:

def main():
    radius = circleCircum(size)

def circleCircum():
    return math.pi * size**2

如何让模块接受来自另一个文件的返回值? 谢谢!

1 个答案:

答案 0 :(得分:0)

您尚未调用此功能。函数名称后跟括号。您使用 circleCircum circleArea ,就像它们是标量属性(变量)一样。

此外,有问题的变量是其包的本地变量:main和geometry。主程序中的大小与几何中的局部变量无关。您必须传递该值,就像使用任何其他函数一样。

朝那个方向移动......

displayCircleResults(geometry.circleCircum(size), geometry.circleArea(size))
...
def circleCircum(size):
    return math.pi * size**2

我不太确定你期望geometry.main()如何工作,但是你没有与外界沟通。 尺寸未传入,半径不会在任何地方发送。

相关问题