Skip to main content
 首页 » 编程设计

python之如何使用递归来使用 Python 查找回文

2025年05月04日11txw1958

我刚刚开始探索编程的奇妙之处。我正在尝试编写代码来识别数字回文。只看数字而不是文本。我正在尝试在这里学习使用递归。但我只是没有得到任何地方,我无法弄清楚它有什么问题。

我的想法是检查第一个字符串和最后一个字符串,如果匹配则删除这两个字符串,然后重复。最终什么都没有(暗示它是一个回文)或者会有一对不匹配(暗示相反)。

我知道有更好的代码可以在其中找到回文,但我只是想尝试一下递归。

那怎么了?

def f(n): 
    global li    
    li=list(str(n)) 
    if (len(li)==(1 or 0)): 
        return True 
    elif li[len(li)-1]==li[0]: 
        del li[0] 
        del li[len(li)-1] 
        if len(li)==0: 
            return True 
        if len(li)>0: 
            global x 
            x=''.join(li) 
            str(x) 
            f(x) 
    else: 
      return False 

提前致谢!

请您参考如下方法:

一些评论

  • 为什么 x 和 li 是全局的?在递归中,所有变量都应该是局部的。
  • 为什么要在 str 和 list 之间来回转换?可以下标both of them
  • 您需要返回递归调用的结果:return f(x)

尝试这些建议,看看效果如何。