内循环仅运行一次

时间:2014-03-03 06:02:05

标签: python python-2.7 for-loop

我不知道问题出在哪里,但内循环只运行一次,为什么?

代码:python 2.7

for i in range(1,11,5):
   print i
   print '#'
   for j in range(i,6):
       print j
   print '---------------'

输出:

1
#
1
2
3
4
5
---------------
6
#
---------------

需要输出::

1
#
1
2
3
4
5
---------------
6
#
6
7
8
9
10
---------------

4 个答案:

答案 0 :(得分:2)

>>> range(1,11,5)
[1, 6]

range(1,11,5)只循环显示1和6.这可能是你不想要的......当你运行第二个for循环时,i是6,所以for j in range(i,6)for j in range(6,6),所以它只运行一次。

答案 1 :(得分:1)

这会产生您所需的输出:

for i in range(1,11,5):
    print i
    print '#'
    for j in range (i, i+5):
        print j
    print '-------------------'

除非你j的两个边界都依赖于i,否则当i大于或等于内循环的固定上界时,内循环将停止运行。

答案 2 :(得分:0)

for i in range(1,11,5):
    print i
    print '#'
    for j in range(1,6): # based on your 'required output', the inner loop should run from 1 to 6.
        print j
    print '---------------'

答案 3 :(得分:0)

您的第二个循环是for j in range(i,6):,而不是for j in range(1,6):