如果条件满足for循环,则将循环跳过一定次数

时间:2019-10-24 09:08:38

标签: python python-2.7

我在for中有一个range(100)循环。

每当我发现一个确实满足条件的数字时,它就应该跳过循环一定次数

for i in range(2,100):
    if i %2 != 0:
        i = i+3

预期结果应为:


2
3
6
7
10
11
.
.
.
.
.

5 个答案:

答案 0 :(得分:0)

据我了解,这就是您想要做的。但是它不是您想要的输出。但是我想您的预期输出不是您逻辑的输出。

i = 2
while i<100:
    print(i)
    if i % 2 != 0:
        i += 3
    else:
        i += 1

输出:

2
3
6
7
10
11
...

答案 1 :(得分:0)

for循环不允许您跳过多个循环。您只能使用

  • continue跳过当前循环的其余部分
  • break跳过所有剩余的循环并退出循环

您需要的是一个while循环。在for循环中定义一个从起始值到上限递增的数字,而while循环仅需要退出条件。

尝试一下:

i = 2
while i < 100:
  if i % 2 == 0:
    i += 4
  else:
    i += 1

答案 2 :(得分:0)

 j = 0
 for i in range(j,100):
    if i%2 !=0:
      j = i+3
      continue
    print(j)

输出: 0 4 6 8 10 12 14 16 18岁 20 。 。 。

答案 3 :(得分:0)

实际上,i = i+3for循环中无效。您可能会认为i变成2+3=5,但是在下一次迭代中,i将是3。为此,您需要使用hile循环。这将为您解决问题:

i = 2
while i <= 100:
    print(i)
    i = (i + 3) if i % 2 != 0 else (i + 1)

答案 4 :(得分:0)

使用for循环的解决方案(尽管我认为使用while循环对此更好):

skipping = 0
for i in range(2, 100):
    if skipping:
        skipping -= 1
        continue
    if i % 2 != 0:
        print(i)
        skipping = 2
    else:
        print(i)

输出:

2
3
6
7
10
11
...