Joe*_*unk 26 python loops for-loop
我想知道如何在python中实现以下功能:
for( int i = 0; cond...; i++)
if cond...
i++; //to skip an run-through
Run Code Online (Sandbox Code Playgroud)
我试了这个没有运气.
for i in range(whatever):
if cond... :
i += 1
Run Code Online (Sandbox Code Playgroud)
jak*_*man 40
Python的for循环是不同的. i
每次循环都会重新分配给下一个值.
以下将做你想要的,因为它采用了C++正在做的文字版本:
i = 0
while i < some_value:
if cond...:
i+=1
...code...
i+=1
Run Code Online (Sandbox Code Playgroud)
原因如下:
在C++中,以下代码段是等效的:
for(..a..; ..b..; ..c..) {
...code...
}
Run Code Online (Sandbox Code Playgroud)
和
..a..
while(..b..) {
..code..
..c..
}
Run Code Online (Sandbox Code Playgroud)
而python for循环看起来像:
for x in ..a..:
..code..
Run Code Online (Sandbox Code Playgroud)
变成
my_iter = iter(..a..)
while (my_iter is not empty):
x = my_iter.next()
..code..
Run Code Online (Sandbox Code Playgroud)
tux*_*21b 11
有一个continue
关键字跳过当前迭代并前进到下一个(以及一个break
跳过所有循环迭代并退出循环的关键字):
for i in range(10):
if i % 2 == 0:
# skip even numbers
continue
print i
Run Code Online (Sandbox Code Playgroud)