在Python中调用函数时出现“未定义(function)”错误?

4 投票
1 回答
26211 浏览
提问于 2025-04-17 17:20

我最近开始学习Python,手头有一些代码。

...
workout = input("Work out if you won?")

if workout == "y":
    ballone()
elif workout == "n":
    print("Okay.")
    sys.exit("Not working out if you won")
else:
    sys.exit("Could not understand")

##Ball one
def ballone():
...

问题出在调用'ballone'这个函数上。你可以看到它已经定义好了,并且在命令行中调用时(ballone())运行得非常好。

有没有什么建议?我在网上找了很多资料,但似乎没有找到能帮我的。如果需要我提供更多代码,请告诉我哦 :)

1 个回答

12

把函数的定义放到使用它的代码之前。

def ballone():
    # ...

if workout == "y":
    ballone()
elif workout == "n":
    print("Okay.")
    sys.exit("Not working out if you won")
else:
    sys.exit("Could not understand")

函数就像你的 workout 变量一样,是存储在标识符里的。如果你不先定义它,Python 怎么知道它会在后面定义呢?

撰写回答