Python递归计数器

2024-04-20 12:52:39 发布

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

在python中,我需要一个从1到n计数的递归计数器

  def countup(n):
       a=1
       def hoch(a,n):
          if a<=n:
             print(a)
             a+=1
             hoch(a,n)
       hoch(a,n)

Tags: ifdef计数器计数printcountuphoch
3条回答

假设您必须递归地执行此操作(这不是执行此操作的最佳方式),另一个选项是将a作为可选参数传递给countup()

def countup(n, a=1):
    if a <= n:
        print(a)
        countup(n, a+1)

countup(10)

这里有一个解决方案

def countup(n):
    if n >= 0:
        countup(n - 1)
        print(n)
countup(10)

基本上,如果传递到countup的数字大于0,它将再次递归运行countup,并将下面的下一个数字传递给它

它只使用1个函数

另外,这里已经有了:

python recursive function that prints from 0 to n?

您可以在不使用递归的情况下执行非常简单的,这不是理想的方法

def countup(n):
    print(*range(n + 1), sep='\n')

相关问题 更多 >