You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python编写递归函数实现字符串递减后递增输出?

解决递归字符串递减后递增输出的问题

原代码仅利用递归的"递"阶段实现了字符串从长到短的递减输出,没借助递归"归"的阶段完成从短到长的递增输出。要实现先递减再递增的完整序列,需要在递归返回后再次拼接当前字符串。

修改后的代码如下:

def inout(w):
    if len(w) == 1:
        return w
    else:
        recursive_result = inout(w[:-1])
        return f"{w}\n{recursive_result}\n{w}"

逻辑说明

  • 终止条件:当字符串长度为1时,直接返回该字符,这是整个序列的中间节点,仅输出一次。
  • 递归处理:对于长度大于1的字符串,先递归处理去掉最后一个字符的子串,获取子串的完整输出(包含子串的递减和递增部分)。
  • 结果拼接:将当前字符串、子串的完整结果、当前字符串按顺序拼接,实现先输出当前字符串(递减阶段),接着输出子串的完整序列,最后再输出当前字符串(递增阶段)。

调用print(inout("hello"))即可得到预期输出:

hello
hell
hel
he
h
he
hel
hell
hello

内容的提问来源于stack exchange,提问作者Jacob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 22:35:38