Python 我有一个无限循环吗?
代码: 所以我有一段代码,它被用来查看一个单词是否包含“silaba_final” 然后剩下的单词除了“silaba_final”。。。可以包含零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。您是通过探查器
或者是“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