2024-04-29 03:38:18 发布
网友
所以我对python相当陌生,我正在研究一个算法,假设有两个函数
func1(x) func2(x)
已经在主函数外定义。在
现在我想在主函数内部调用另一个函数
像这样的东西
很明显它不起作用我还没能让它发挥作用。有什么建议吗?在
编辑:我的意思是我想输入一个字符串,我希望它先通过func2,然后从func2返回的值通过func1,最后是func1的返回值通过func main。我已经分别测试了每个功能,它们按预期工作,但我似乎无法将它们连接在一起
执行以下功能:
def func1(x): return x+1 def func2(x): return x*2
你自己可以这样做:func1(func2(3)),它将返回3乘以2加1。这是因为func1(func2(3))本身实际上返回一个值,而不是一个函数。在
func1(func2(3))
但是,既然你想把它作为主函数的基本参数,像这样:
它不知道该怎么办,因为x没有默认值。。。在
但您可以这样做:
这将对1进行适当的数学运算,然后将其赋值为x(因为如前所述,func1(func2(3))`将返回函数的结果,而不是函数本身,然后将其乘以3。因为您默认x等于一个值(func1(func2(1))
这仍然是一个糟糕的做法,因为您将默认使用func1(func2(1)输出的任何内容。在
func1(func2(1)
你最终可能想要的是更简单的东西:
def main(x): y = func1(func2(x)) return y*3
或者更简单
def main(x): return x*3 #and then just call it like this main(func1(func2(1))
这是你的意思吗?你的问题不太清楚。我假设x在某个地方也是全局定义的。在
def funcmain(): return func1(func2(x))
我希望这段代码能帮助你澄清一些事情。在
#!/usr/bin/python def func1(x): return x + 1 def func2(x): return x + 2 def main(x): print func1(func2(x)) if __name__ == '__main__': main(0)
输出为3。在
执行以下功能:
你自己可以这样做:
func1(func2(3))
,它将返回3乘以2加1。这是因为func1(func2(3))
本身实际上返回一个值,而不是一个函数。在但是,既然你想把它作为主函数的基本参数,像这样:
^{pr2}$它不知道该怎么办,因为x没有默认值。。。在
但您可以这样做:
^{3}$这将对1进行适当的数学运算,然后将其赋值为x(因为如前所述,func1(func2(3))`将返回函数的结果,而不是函数本身,然后将其乘以3。因为您默认x等于一个值(func1(func2(1))
这仍然是一个糟糕的做法,因为您将默认使用
func1(func2(1)
输出的任何内容。在你最终可能想要的是更简单的东西:
或者更简单
这是你的意思吗?你的问题不太清楚。我假设x在某个地方也是全局定义的。在
我希望这段代码能帮助你澄清一些事情。在
输出为3。在
相关问题 更多 >
编程相关推荐