Python回文字符串一个小变体的问题!

def f(str1,str2):
    '''
    if len(str1)!=len(str2):
        return False
    elif len(str1)==1:
        return str1==str2
    '''
    if str1[0]==str2[-1]:
        return f(str1[1:],str2[:-1])
    else:
        return False
print f('acbd','dcba')
#这个函数加上注释部分正常打印True,而去掉注释部分就是超出边界?这是为什么?我知道那部分是判断条件,但是我给的两个变量值自身都已经避开了注释的两个判断条件啊?


asdhjhg
浏览 1567回答 2
2回答

孤独的小猪

去掉注释部分是可以打印的啊,不过结果是False,加上注释的结果同样也是False,注释并没有影响。

而今听雨

每次减少一个长度,当减到一个长度时, str1[1:]和str2[:-1]得到空字符串,两个空string相等继续得到两空字符串,无限循环。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python