python嵌套循环问题

大家好,有个问题请教一下,我想在满足第二判断后跳过内层循环,进行下一个外层循环,满足第一个判断后跳出所有循环,有没有什么好方法。

def huiwen(s):
    lens = len(s)
    lens_raw = lens
    for i in range(lens_raw):
        for j in range(lens):
            test = s[j:j+lens]
            if test == test[::-1]:
                return s[j:j+lens]
                break
            elif test == s[len(s) - len(test):]:
                lens = lens - 1
                break
huiwen('asasatt')

把第一个break去掉即可 break会跳出当前的这个循环,return会结束所有的循环返回函数的结果。望采纳

是要跳出所有的循环但是不能退出函数吗?
如果是这样,可以设置一个标志:

def huiwen(s):
    lens = len(s)
    lens_raw = lens
    quit = False
    for i in range(lens_raw):
        if quit:
            break
        for j in range(lens):
            test = s[j:j+lens]
            if test == test[::-1]:
                quit = True
                break
            elif test == s[len(s) - len(test):]:
                lens = lens - 1
                break 

如果可以直接退出函数,那像原来一样用return就行了。

  • 关于该问题,我找了一篇非常好的博客,你可以看看是否有帮助,链接:python的嵌套循环