参数的类型是什么,这个函数有什么作用?

时间:2012-12-14 18:29:19

标签: python

我遇到以下代码的问题:

def myprogram(x):
    if x == []:
        return x
    else:
        return myprogram(x[1:]) + [ x[0] ]

参数类型(x)是什么? 这个功能有什么作用?

我应该编写用参数调用此函数的代码并找到返回值,但我无法理解这里发生的事情。任何帮助/反馈将不胜感激。

2 个答案:

答案 0 :(得分:7)

由于这显然是家庭作业,我将限制我的答案。

  

我应该编写调用此函数的代码

很明显,该功能正在期待一个列表。我留给你来弄清楚剩下的。

如果您不确定如何继续,可以尝试使用各种列表调用它以查看它返回的内容。但是,最终您必须阅读并理解源代码,以确定函数的功能。

答案 1 :(得分:0)

这是一个递归函数,它会继续调用自身直到终止条件停止它

例如,如果您运行此代码:

def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n -1)

如果您使用factorial(5)调用,您会期望返回什么?

关于如何在这里制作它们的另一篇文章:How can I build a recursive function in python?