为什么';我的python回文检查算法是否有效?
所以我当时正在做,我觉得奇怪的是,我作为解决方案编写的这段代码不起作用:为什么';我的python回文检查算法是否有效?,python,algorithm,recursion,Python,Algorithm,Recursion,所以我当时正在做,我觉得奇怪的是,我作为解决方案编写的这段代码不起作用: def is_palindrome(word): if len(word) <= 1: return True elif first(word) == last(word): is_palindrome(middle(word)) else: return False 您缺少一个返回值: def is_palindrome(word):
def is_palindrome(word):
if len(word) <= 1:
return True
elif first(word) == last(word):
is_palindrome(middle(word))
else:
return False
您缺少一个
返回值
:
def is_palindrome(word):
if len(word) <= 1:
return True
elif first(word) == last(word):
return is_palindrome(middle(word)) # <--
else:
return False
def是回文(word):
如果len(word)您缺少返回的:
def is_palindrome(word):
if len(word) <= 1:
return True
elif first(word) == last(word):
return is_palindrome(middle(word)) # <--
else:
return False
def是回文(word):
如果len(word)添加返回
return is_palindrome(middle(word))
添加return
return is_palindrome(middle(word))
我认为您缺少返回函数第5行中的方法
return is_palindrome(middle(word))
应该在那里而不是
is_palindrome(middle(word))
我认为您缺少返回函数第5行中的方法
return is_palindrome(middle(word))
应该在那里而不是
is_palindrome(middle(word))
您在调用is_回文之前缺少“return”您在调用is之前缺少“return”_palindrome@user3182422我已经解释了为什么它不起作用。解释不清楚吗?我不明白的是,为什么没有添加“return”就不能工作。看起来更像是你给了我一个解决办法,仅此而已@user3182422您需要返回,以便向调用者实际报告函数的结果。在没有显式返回的情况下,函数默认返回None
,就这么简单。你可以在True
和False
前面问同样的关于return
的问题,答案是一样的。如果你不明白为什么需要return
,你可能需要读一读递归的内容。@user3182422我已经解释了为什么它不起作用。解释不清楚吗?我不明白的是,为什么没有添加“return”就不能工作。看起来更像是你给了我一个解决办法,仅此而已@user3182422您需要返回,以便向调用者实际报告函数的结果。在没有显式返回的情况下,函数默认返回None
,就这么简单。你可以在True
和False
前面问同样的关于return
的问题,答案是一样的。如果你不明白为什么需要return
,你可能想读一读递归。。