python - 向后递归打印字符串,每次递增

标签 python string python-3.x recursion reverse

我这里有一个函数,它将打印一个字符串,直到它到达最后一个字符。问题是我需要它来做相反的事情。

我需要它来打印“c,bc,abc”,而不是“abc”打印“abc,ab,c”。

谢谢!

def reverse(string):
  if len(string) == 0:
    return string
  else:
    print(string)
    return reverse(string[1:])

最佳答案

只需将 else 中的 2 行交换即可。这将导致所有递归调用发生在任何 print 语句之前。一旦到达字符串末尾,递归就会展开,并且所有 print 都会发生:

def reverse(string):
    if not string:
        return
    else:
        reverse(string[1:])
        print(string)

reverse("abc")

输出:

c
bc
abc

关于python - 向后递归打印字符串,每次递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49933970/

相关文章:

python - `requests_mock` 适用于所有请求,即使它们未设置并抛出 NoMockAddress 异常

python - 链式重载比较运算符

python - 如何分析库的大小

python - 为什么使用此代码可以生成随 secret 码?

python - 在 Python 中调用 C 函数

python - 更改模型中的字段名称或字段数据类型后,是否需要使用 schemamigration 和迁移命令?

Java:jasper报告删除尾随零

c - 在 C 中使用 wcslen 时出现段错误

python - 如何填充已在python中创建的空字符串

python - "EOF error"在程序退出时使用多处理队列和线程