2015-11-27 94 views
1

是否有可能增加范围中的每一步?类似这样的:Python范围步骤增加

for num in range(1, 40, i++) : 
     print(i) 
... 
1 
2 
3 
4 
... 

或步入范围只有固定的大小?

+0

否,例如具有增加的尺寸的步骤:范围(1,40,1) - >范围(1,40,2) - >等 – goodgrief

+0

'while'循环会使事情更简单 – Don

回答

1

是的,步进范围有固定的大小。

像这样的东西给你想要的输出。

>>> j=0 
>>> for i in xrange(1,40): 
    j+=i 
    print j 
1

我想你想每次迭代增加步长?

下面的代码这是否

>>> for i in (i+sum(range(i)) for i in (range (1,10))): 
... print i 
... 
1 
3 
6 
10 
15 
21 
28 
36 
45 
>>> 
1

while循环将导致更干净的代码:

step = 1 
i = 1 
while i < 40: 
    print i, step 
    i += step 
    step +=1 

结果:

1 1 
2 2 
4 3 
7 4 
11 5 
16 6 
22 7 
29 8 
37 9