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

2024-10-01 05:04:05 发布

您现在位置:Python中文网/ 问答频道 /正文

Discalimer:在这个函数中,我不能使用for或while,我只能使用递归。 它打印函数项序列的第一个数字

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

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

我也不能用列表! 例如:

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

我要做的是:

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

我不知道还能做什么!我什么都试过了


Tags: of函数列表forfunction序列数字术语
1条回答
网友
1楼 · 发布于 2024-10-01 05:04:05

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

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

相关问题 更多 >