Python 我有一个无限循环吗?

Python 我有一个无限循环吗?,python,python-3.x,Python,Python 3.x,代码: 所以我有一段代码,它被用来查看一个单词是否包含“silaba_final” 然后剩下的单词除了“silaba_final”。。。可以包含零 或者是“e_silaba”功能的更多倍。我尝试过这个代码,但是当我执行 它给出了“正在执行命令。请等待结果”,我想这是一个 无限循环。有人能帮我吗?如果silaba_final(s[i:])是真的并且i>0,那么你最终会在这段代码中找到一个无限循环。只有当silaba_final(s[i:])为false时,才会到达您的语句i=i-1。您是通过探查器

代码:

所以我有一段代码,它被用来查看一个单词是否包含“silaba_final” 然后剩下的单词除了“silaba_final”。。。可以包含零
或者是“e_silaba”功能的更多倍。我尝试过这个代码,但是当我执行 它给出了“正在执行命令。请等待结果”,我想这是一个
无限循环。有人能帮我吗?

如果
silaba_final(s[i:])
是真的并且
i>0
,那么你最终会在这段代码中找到一个无限循环。只有当silaba_final(s[i:])为false时,才会到达您的语句
i=i-1

您是通过探查器运行它,还是仅使用一些打印语句来执行它以查看发生了什么?您是否尝试过调试(通过调试器或使用打印语句)看看发生了什么事?你真的看不出这里有什么不对的地方,这对我来说是正确的,解决办法是删除最后一个
,否则:
然后取消
i=i+1
两个级别。所以我应该添加一个语句来停止循环?如果不知道更多关于你想要完成什么,很难回答这个问题。
i = len(s) - 1
while i >=0:
    if silaba_final(s[i:]):
        if i == 0:
            return True
        else:
            z = len(s) - i
            while z >=0:
                if not e_silaba(s[z:i]):
                    z = z - 1
                if e_silaba(s[z:i]):
                    if z == 0:
                        return True
                    else:
                        z = len(s) - z
    if not silaba_final(s[i:]):
        if i == 0:
            return False
        else:
             i = i - 1