在范围内循环时跳过每个第 n 个值 - python

skip every nth value when looping over a range - python

假设我有这样的东西。

for i in range((n**2)+(n-1)):
    print i,

这里

n = any integer after one(2, 3, 4 etc.)

现在,如果 n is 2,我将 i 的值作为 0, 1, 2, 3, 4

我需要的是能够跳过 i 的每第 n 个值,这样,如果 n is 2,我的输出将是 0, 1, 3, 4,如果 n = 3,我的输出将是 0, 1, 2, 4, 5, 6, 8, 9, 10

谢谢。

这样做的一种方法是跳过您不想使用 continue 语句迭代的循环迭代

for i in range(0,11):
    if i % 3 == 0 and i != 0:
        continue
    print(i)


1
2
4
5
7
8
10

根据 Brian Cain 所说,我找到了问题的解决方案。谢谢布莱恩。以下是我正在寻找的代码:

for i in range ((n**2)+(n-1)):
    if (i+1) % (n+1) == 0 and i != 0:
        continue
    print i