The*_*834 2 python string recursion boolean
以下是问题的表述方式:编写一个名为双字母的递归函数,带有一个参数 astr,它是一个字符串。如果 astr 是包含“双字母”(同一字母连续出现两次)的字符串,则 functin 返回 True,否则返回 False。例如,double letter("hello") 返回 True,而 double letters("hi there") 返回 False。
-- 不要求任何人为我做这项工作,但这就是我所拥有的。我知道它流动正确,就好像我用 Print('True') 替换 return True ,反之亦然,它会打印那些。递归函数是否不能很好地处理布尔值,还是我遗漏了一些显而易见的东西?
def double_letters(astr):
if len(astr) >= 2:
if astr[0] == astr[1]:
return True
else:
double_letters(astr[1:])
else:
return(False)
Run Code Online (Sandbox Code Playgroud)
else:
return double_letters(astr[1:])
Run Code Online (Sandbox Code Playgroud)
否则,您确实会递归调用您的函数,但是您丢弃了它的返回值,而您的函数实际上返回了None.