python - 不确定是否递归

use*_*278 0 python algorithm recursion

def func_palindrome(stri):
    if len(stri) == 0 or 1:
        return True
    if stri[0] != stri[-1]:
        return False
    return func_palindrome(stri[1:-1])
Run Code Online (Sandbox Code Playgroud)

我不确定这个检查字符串是否为回文的函数是否可以被视为递归代码.因为我可以简单地将最后一个返回值更改return func_palindrome(str[1:-1])为True,并且不会发生任何变化

kar*_*ikr 7

你的问题在这里:

if len(str) == 0 or 1 :
Run Code Online (Sandbox Code Playgroud)

应该

if len(str) == 0 or len(str) == 1:
Run Code Online (Sandbox Code Playgroud)

通过这样做,if len(str) == 0 or 1True 总是在被解释为进行评估(len(str) == 0) or 1

另外,我会重命名str为其他内容,就像str内置类型一样