我该如何调整我的代码? Python递归计数器

时间:2018-03-11 15:19:51

标签: python python-3.x counter

我想在python中构建一个从1到n的递归计数器。 功能的名称必须是countup(n),没有其他参数。我想这个想法只用一个def语句编写代码。

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

3 个答案:

答案 0 :(得分:1)

这是一个解决方案。

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

基本上,如果传入countup的数字大于0,它会再次递归countup,然后传递给下面的下一个数字。

它只使用1个功能。

P.S。它已存在于此处:

python recursive function that prints from 0 to n?

答案 1 :(得分:0)

你可以做非常简单的而不用递归,这不是理想的方式。

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

答案 2 :(得分:0)

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

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

countup(10)