这是用Java编写的:
for(int i=0; i<10; i++){
while(i%3!=0)
i++;
System.out.print(i + " ");
}
这将产生以下结果:
0 3 6 9
我正试图在Python 3中实现类似的代码块。
在外部循环中,我不能使用范围,因为它会导致我在某个地方看到的整个列表的迭代。所以,我试着在下面,但它失败了危险,运行无限。
i=1
while i<=10:
while i%3 is not 0:
i+=1
print('run')
我可以通过删除内部while
并将代码更改为i+=3
来达到目标。但是我想要做的计划有重要的条件,所以它必须在那里。必须有两个循环,在内环条件匹配的基础上,增加迭代变量,所以当我中断并处理某个程序输出时,父循环应该从我在内循环中停止的地方开始迭代,上面的只是一个我能想到的分享问题的例子。我需要关于如何复制Python中的Java代码所描述的更改的建议。
发布于 2016-08-08 10:46:35
i = 0
while i < 10:
while i % 3 is not 0:
i += 1
print(str(i) + " ")
i += 1
发布于 2016-08-08 10:49:27
在您的示例中不需要使用两个循环。
while i<=10:
if i%3 == 0:
print(i+ " ")
i++
您的代码无限地运行,因为当i等于3时,您从不增加它。
发布于 2016-08-08 10:57:55
另一种选择是只使用列表理解:
print(' '.join([i for i in range(10) if i % 3 == 0])
https://stackoverflow.com/questions/38836312
复制相似问题