首页 > 解决方案 > 调用函数:NameError 需要定义

问题描述

如何在函数外部定义 userMiles 以便能够在不将 userMiles = float(input()) 置于函数外部的情况下调用它?

def MilesToLaps(userMiles):
    """Convert miles to laps."""
    userMiles = float(input())
    userLaps = userMiles/0.25
    return userLaps


if __name__ == '__main__':
    print(MilesToLaps(userMiles))

标签: pythonfunction

解决方案


我不确定您在这里追求什么,所以我会尝试多个答案,希望其中一个能满足您的需求。

当您在定义函数时将变量放在括号中时,您正在将数据传递给该函数,因此基本上您可以在函数外移动一行。

def MilesToLaps(userMiles):
    """Convert miles to laps."""
    userLaps = userMiles/0.25
    return userLaps


userMiles = float(input())

if __name__ == '__main__':
    print(MilesToLaps(userMiles))

如果您不想将任何参数传递给函数,您可以使用全局变量

def MilesToLaps():
    """Convert miles to laps."""

    global userMiles

    userLaps = userMiles/0.25
    return userLaps


userMiles = float(input())

if __name__ == '__main__':
    print(MilesToLaps())

我希望我已经为您提供了您正在寻找的答案,或者至少让您深入了解了可以用来解决此问题的不同方法。

一切顺利。


推荐阅读