在范围内循环时跳过每个第 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
假设我有这样的东西。
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