Khi*_*min 1 c++ python for-loop
我之前用C++编程,但我是Python的新手.我搜索了这个,但我找不到合适的答案.在C++中,我可以这样做:
for(int i=0; i<10;i++)
{
i+=5;
std::cout<<i<<std::endl
}
Run Code Online (Sandbox Code Playgroud)
i的值将是5和11.但是在python中如果我这样做:
for i in range(0,10):
i+=5
print i
Run Code Online (Sandbox Code Playgroud)
i的值确实为循环的迭代更新,但在下一次迭代中,它将变为1.虽然我在python中理解,在每次迭代之后,我将包含由range生成的元组/列表中的下一个值,但有什么方法可以让它像C++一样跳过迭代?我真的不想使用next()函数5次
编辑:我可以使用范围函数的第三个参数作为一般用途,但如果我想跳过一些迭代,如果只有某个条件为真,那该怎么办呢.例如
for(int i=0; i<10;i++)
{
if(i%2)i+=1;
std::cout<<i<<std::endl
}
Run Code Online (Sandbox Code Playgroud)
如果要在条件为真时跳过迭代,则使用continue:
for i in range(10):
if i % 2:
continue
print(i)
Run Code Online (Sandbox Code Playgroud)
我知道你在想什么,但有一些内置的python允许你在range()函数中设置迭代步骤.这是官方的Python文档range().
实质上,x在每次迭代后跳过,你会做:
for i in range(start, stop, x + 1):
# functions and stuff
Run Code Online (Sandbox Code Playgroud)
希望这有帮助.
您可以使用常规while循环。它看起来不太好,但它可以完成工作。例如:
i = 0
while i < 100:
print i
if i % 2 == 0:
i += 5
i+=1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
202 次 |
| 最近记录: |