如何在python中循环step和count



当条件小于1000时,我希望能够在每2步中计数5例如:

i = 0
j = 2000
k = 3000
while i < 1000:
i += 2
for x in range(5):
print(i)
j += 2
for x in range(5):
print(j)
k += 2
for x in range(5):
print(k)

但是输出只打印i,j,k 5次

output:::
2
2
2
2
2
2002
2002
2002
2002
2002
3002
3002
3002
3002
3002
4
4
4

我希望结果是:….

2
3
4
5
6
2002
2003
2004
2005
2006
3002
3003
3004
3005
3006
8      #please note here that 8(i) continue by 2 steps from 6
9
10
etc..........

我想知道一种更简单、更像蟒蛇的方法。感谢

这是你试图做的一件奇怪的事情,但这是我的修改版本,带有你想要的输出:

a, b, c = 0, 2000, 3000
for i in range(2, 1000, 6):
for x in range(5):
print(a+i+x)
for x in range(5):
print(b+i+x)
for x in range(5):
print(c+i+x)

所以你试图获得数字级数,这里有一种方法:

progression = [a for a in range(2,7)] 
+ [b for b in range(2002,2007)] 
+ [c for c in range(3002,3007)]
for i in range(0, 1000, 6):
for p in progression:
print(p + i)
2
3
4
5
6
2002
2003
2004
2005
2006
3002
3003
3004
3005
3006
8
9
10
11
12
2008
2009
2010
2011
2012
3008
3009
3010
3011
3012
14
15
16
17
18
2014
2015
2016
2017
2018
3014
3015
3016
3017
3018
20
21
22
23
24
2020
2021
2022
2023
2024
3020
3021
3022
3023
3024
26
...<truncated>

我并不是真的不知道你想做什么,但这个输出是你想要的:

i = 0
j = 2000
k = 3000
while i < 1000:
i += 2
for x in range(5):
print(i+x)
j += 2
for x in range(5):
print(j+x)
k += 2
for x in range(5):
print(k+x)
i += 4

您可以通过其他方式来实现这一点,但以下是我的方法

j = 2000
k = 3000
for i in range(2, 1000, 6):
for x in range(5):
print(i+x)
j += 2
for x in range(5):
print(j+x)
k += 2
for x in range(5):
print(k+x)

最新更新