我想在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)
答案 0 :(得分:1)
这是一个解决方案。
def countup(n):
if n >= 0:
countup(n - 1)
print(n)
countup(10)
基本上,如果传入countup
的数字大于0,它会再次递归countup
,然后传递给下面的下一个数字。
它只使用1个功能。
P.S。它已存在于此处:
答案 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)