问题的表达方式如下:
用单个参数astr编写一个称为双字母的递归函数,它是一个字符串。如果astr是包含“双字母”(相同字母的两个连续出现)的字符串,则functin返回True,否则返回False。例如,双字母(“ hello”)返回True,而双字母(“ hi there”)则返回False。

-不要求任何人为我完成工作,但这就是我所拥有的。我知道它正确地流动,就好像我用Print('True')代替return True,反之亦然,对于False一样,它将打印那些。递归函数不适用于布尔值吗?还是我遗漏了一些显而易见的东西?

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

10-07 17:16