我在for
中有一个range(100)
循环。
每当我发现一个确实满足条件的数字时,它就应该跳过循环一定次数
for i in range(2,100):
if i %2 != 0:
i = i+3
预期结果应为:
2
3
6
7
10
11
.
.
.
.
.
答案 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+3
在for
循环中无效。您可能会认为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
...