递归将函数的结果打印为序列

时间:2018-11-02 12:08:56

标签: python python-3.x function recursion

Discalimer:在此功能中,我无法使用一段时间,只能使用递归操作。 它打印功能项序列的前几位

g++

我们必须从1开始打印从1到term(n)的数字(这很难!)

我也不能使用列表! 一个例子是:

n -- last pointer of sequence 
term -- function: term(i) 

我要做的是:

print_sequence(5, lambda x:x)
1
2
3
4
5

我不知道该怎么办!我已经尝试了一切。

1 个答案:

答案 0 :(得分:-1)

您可以使用以下函数,该函数以小于给定n的递归方式调用自身,直到达到0,此后它将使用term调用n并打印返回值:

def print_sequence(n, term):
    if n == 0:
        return
    print_sequence(n - 1, term)
    print(term(n))

这样:

print_sequence(5, lambda x: x)

输出:

1
2
3
4
5