gpt4 book ai didi

python - 递归函数不返回 True 或 False,但流程正确且有效?

转载 作者:太空宇宙 更新时间:2023-11-04 09:06:53 24 4
gpt4 key购买 nike

问题的措辞如下:编写一个名为 double letters 的递归函数,它有一个参数 astr,它是一个字符串。如果 astr 是包含“双字母”(同一字母连续出现两次)的字符串,则该函数返回 True,否则返回 False。例如,双字母 ("hello") 返回 True,而双字母 ("hi there") 返回 False。

-- 不要求任何人为我做这项工作,但这就是我所拥有的。我知道它正确流动,就好像我用 Print('True') 替换 return True ,反之亦然替换为 False,它会打印那些。递归函数不能很好地处理 boolean 值,还是我遗漏了一些明显的东西?

def double_letters(astr):
if len(astr) >= 2:
if astr[0] == astr[1]:
return True
else:
double_letters(astr[1:])
else:
return(False)

最佳答案

        else:
return double_letters(astr[1:])

否则你会递归地调用你的函数,但你丢弃了它的返回值,你的函数实际上返回了None

关于python - 递归函数不返回 True 或 False,但流程正确且有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19719616/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com