我试图从函数中获取一个值,并在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并在另一个函数中使用它。功能现在正在踢我的屁股。
答案 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
的值发送回调用者。