当前位置:  开发笔记 > 编程语言 > 正文

python:重启循环

如何解决《python:重启循环》经验,为你挑选了2个好方法。

我有:

for i in range(2,n):
    if(something):
       do something
    else:
       do something else
       i = 2 **restart the loop

但这似乎不起作用.有没有办法重新启动该循环?

谢谢



1> gnomed..:

您可能需要考虑使用该逻辑适用的不同类型的循环,因为它是最明显的答案.

也许是:

i=2
while i < n:
    if something:
       do something
       i += 1
    else: 
       do something else  
       i = 2 #restart the loop  


但是没有什么能阻止我继续无限期地重置为2,这取决于"if something"测试.

2> Greg Hewgill..:

i从循环内更改索引变量不太可能达到预期效果.您可能需要使用while循环,并自己控制循环变量的递增.每次for循环,i都会重新分配下一个值range().所以类似于:

i = 2
while i < n:
    if(something):
        do something
    else:
        do something else
        i = 2 # restart the loop
        continue
    i += 1

在我的示例中,continue语句跳回到循环的顶部,跳过该i += 1迭代的语句.否则,i按照您的预期递增(与for循环相同).

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有