python - 在 Python 中测试回文

标签 python string palindrome splice

我现在知道有更好的解决方案,但我很困惑为什么我会得到这样的结果。

import sys

def isPalindrome(test):
    if len(test) == 1:
        return("Is a palindrome")
    else:
        if test[0] == test[-1]:
            isPalindrome(test[1:-1])
        else:
            return("Not a palindrome")        

print(isPalindrome(sys.argv[1]))

在真正的回文中,我得到“无”。当结果不是回文时,我得到'Not a palindrome'的期望值。

最佳答案

更改为以下行:

return isPalindrome(test[1:-1])

您必须返回一个值,否则返回的值为None

关于python - 在 Python 中测试回文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29801025/

相关文章:

python - 为什么 1+++2 = 3?

python - 从 Python 运行 Expect 脚本的最简单方法

c++ - 回文函数

list - 如何将函数应用于 haskell 中的列表?

python - inspect.getsource() 在 python 中不起作用

python - 有没有办法在Django中使用order_by来指定返回结果的顺序?

python - 如何格式化字符串以在 Python 中使用 mysqldb 进行查询?

c - 扫描包含多个单词的字符串

mysql - MySQL SELECT CONCAT() 列输出中的意外值

c - C 中的回文字符串