python - 带字符串输出的递归计数

标签 python string recursion

我需要做一个作为字符串打印的计数值 - 因此,如果用户输入 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/

相关文章:

python - 使用 Python 将单行 .dat 文件合并为一个 .csv 文件

Python 不使用环境中的语言环境

c - 根据教授的说法,代码中的段错误应该有效

python - 将 python 中的递归深度增加到 100000

c++ - 尝试比较递归和迭代算法

python - 不理解 NLTK 正则表达式解析格式

javascript - 想要通过浏览器使静态 SVG 绘图(来自 matplotlib)具有交互性

Java 字符串统计字母出现次数

string - 如何根据字符串字符对向量进行子集化?

java - 如何使用递归在链表中成对交换节点?