0

我正在使用一个名为 JES 的程序来学习 Jython,但我无法理解如何从可用于另一个函数的函数返回值。

例如:

def driver():
  picture = makePicture(pickAFile())
  input(picture)
  changeRed(picture, reduceRedAmount)

def input(picture):
  redReduceAmount = requestInteger("How much should I reduce red by?")
  return redReduceAmount
def changeRed(picture, reduceRedAmount):
  for p in getPixels(picture):
    value=getRed(p)
    setRed(p,value*0.9)

我希望能够在命令区域中运行驱动程序功能,并让该功能包含其他功能。我知道函数的结果是本地的并且不会通过,但我认为如果你使用'return',那么它会存储该值以供以后使用。我在这里走错了吗?肯定有办法在函数之间传递信息吗?

4

2 回答 2

0

试试这个:
任何“-”都忽略它们,它们不是代码的一部分,它们只是为了帮助空格,这样你就不会遇到任何语法错误。

def driver():
   picture = makePicture(pickAFile())
   input(picture)
   changeRed(picture, reduceRedAmount)
   repaint(picture)`

或者

def changeRed(picture, reduceRedAmount):
   for p in getPixels(picture):
      value=getRed(p)
      setRed(p,value*0.9)
      repaint(picture)

或者

def changeRed(picture, reduceRedAmount):
   for p in getPixels(picture):
      value=getRed(p)
      setRed(p,value*0.9)
      show(picture)

或者

def changeRed(picture, reduceRedAmount):
   for p in getPixels(picture):
      value=getRed(p)
      setRed(p,value*0.9)
   return(picture)`

其中一个重绘,返回,显示应该可以显示新图像。

要在命令区域显示其他值,只需使用“在此处打印内容”,例如打印 1+1 或打印值。

于 2013-10-09T03:58:41.293 回答
-1

我这样做的方式是将它声明为全局变量,def functionName()然后在代码的最后一行和functionName()代码的最后一行,然后再减少缩进,类型return variableNameYouWant

检查这个:

def functionName() global variableNameYouWant .. .. return variableNameYouWant

我们这样做是声明你想成为一个全局变量的函数(这必须在它被定义一个值之前完成,所以最好在定义的开头做。)然后在你关闭定义之前通过减少缩进,返回 def 之外的变量。

我知道这是一个老问题,但我正在努力争取作为新手的支持。:)

编辑:感谢您的反对,匿名。

于 2015-04-07T19:42:09.710 回答