首页 > 解决方案 > 我如何修复这个 python 反向范围回文?

问题描述

这是为了一个任务。我们必须将一些提供的 java 代码翻译成 Python。大部分都很简单,但最后一点让我很头疼。整个代码是一个菜单,其中一个选项是“显示最多 1000 个回文”。他们想要的是翻译而不是重写——我相信有一百万种方法可以做到这一点。我在方法部分做错了什么......

    def isPalindrome(n):
        str_n = str(n)
        reverse = ""
        for i in range(len(str_n)-1, -1, -1):
            reverse = reverse + str_n[i]
            result = str_n == reverse
            return result

这里还有一些其他的菜单代码......

    elif option == 3:
        print("PALINDROMES")
        for i in range(0, 1000):
            if isPalindrome(i):
                print(i)
            break

标签: pythonpalindrome

解决方案


据我了解您的问题,您想检查数字是否为回文?例如11是但13不是?

无论如何,最简单的方法是使用[::-1],它将反转列表或字符串,因此您可以编写如下代码:

def is_palindrome(text):
    if text == text[::-1]:
        print(f"({text} is a palindrome!)")

推荐阅读