从函数返回值到main

时间:2014-04-03 03:31:21

标签: function

我试图从函数中获取一个值,并在main中使用它。对于我的生活,我无法弄清楚。我的代码看起来像这样。

def randPoint(win):
point1 = random.randrange(0,600)
point2 = random.randrange(0,200)
rPoint = Point(point1,point2)

return rPoint

def main():
win=GraphWin("Bounce n Score!", 600, 600)
win.setCoords(0,0, 900, 900)

intro(win)
circle(win)
randPoint(win)
makeBig(win,rPoint)

我希望能够抓住这一点并获得X和Y并在另一个函数中使用它。功能现在正在踢我的屁股。

2 个答案:

答案 0 :(得分:0)

看起来randPoint看起来不像是'win'这个论点吗?

rPoint在main中不存在,只在randPoint中存在。

看起来你可以通过makeBig(win,randPoint())逃脱?

我可能错了。

答案 1 :(得分:0)

@Anony的答案应该有效。这有点清楚,但同样的事情:

def main():
...
    rPoint=randPoint(win)
    makeBig(win,rPoint)

function在您拨打电话时会返回value。你需要像我一样明确地获取该值,rPoint=randPoint(win)或隐式地,像@Anthony那样(函数调用本身返回你的return语句中设置的值),以便在调用函数中使用它。

当您在rPoint = Point(point1,point2)中声明randPoint()时,其范围是本地的 - 仅在该函数中可见:randPoint()。当您编写return rPoint时,您正在使用该函数将rPoint的值发送回调用者。