2017-04-19 118 views
0

我在做一些关于python的初学者级别的教程时遇到了这个问题。在我看来,我认为有些时候,它从来没有得到执行,如果我们试图运行类似以下内容:在python中执行For循环2.7

#1st loop 
For i in range (2,2): 
    Print i 

#2nd loop 
For i in range (1,-10): 
    Print i 

这两个循环体永远不会执行,因为它似乎已经耗尽。

第一个循环:当我们将2分配给i时,它已经到了最后。

第二个循环:当给i赋值1时,它不能继续进行到-10。因为增量的步骤是1,NOT-1。

我对错了吗?如果不正确,为什么?

+4

是的,你理解正确的话。如果循环的迭代是* empty *,那么'for'循环体永远不会被执行。范围(2,2)和范围(1,-10)都是*空序列*。 –

+2

有什么能阻止你运行这段代码,看看自己是否执行过'print'? (除了语法错误?) –

+0

更多空iterables的例子:'''''''''','set()',''''';这些全都不包含用于迭代的for循环的元素。 –

回答

1

这些序列不会被执行。 Python for语句按顺序遍历序列的成员,每次执行该块(从https://wiki.python.org/moin/ForLoop),因此该块将不会在任何时候执行。

还有一注: 请按照Python语法(即,无法启动资本)写运营商:

#1st loop 
for i in range (2,2): 
    print i 

#2nd loop 
for i in range (1,-10): 
    print i