我需要做一个作为字符串打印的计数值 - 因此,如果用户输入 5,它将从字符串中的 1 - ' 1 2 3 4 5' 开始计数,而不是单独的行。这就是我所拥有的基本递归函数,该函数可以累加,但它没有给我字符串的输出。任何帮助将不胜感激
def countup(N, n=0):
print(n)
if n < N:
countup(N, n + 1)
最佳答案
如果您需要返回字符串,请考虑返回字符串。结果的第一部分是 n
转换为字符串:str(n)
。当您尚未完成时,您可以添加一个空格,然后添加其余数字的计数。就像这样:
def countup(N, n=1):
res = str(n)
if n < N:
res += ' ' + countup(N, n + 1)
return res
print(countup(5))
另一个不需要局部变量的版本是:
def countup(N, n=1):
if n < N:
return str(n) + ' ' + countup(N, n + 1)
else:
return str(n)
关于python - 带字符串输出的递归计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58633252/