Python 一道有趣的 for循环 测试题。

先看下面这个for循环,很普通,输出结果0,1,2,3。 没毛病。

In [1]: for i in range(4):
   ...:     print i

然后看下面几个例子:

例子一、

In [1]: for i in range(4):
   ...:     print i
   ...:     i = 10
   ...:     
0
1
2
3

例子二、

In [2]: for i in range(4):
   ...:     print i
   ...:     i = 10
   ...:     print i
   ...:     
0
10
1
10
2
10
3
10

例子三、

In [3]: for i in [0,1,2,3,10]:
   ...:     print i
   ...:     i = 10
   ...:     
0
1
2
3
10

例子四、

In [4]: for i in [0,1,2,3,10]:
   ...:     print i
   ...:     i = 10
   ...: else:
   ...:     print i
   ...:     
0
1
2
3
10
10

可能会觉得例一只循环一遍,输出结果是1。二三也是类似的道理。

但是在Python的循环方式中,每次循环开始的时候都会重新给i赋值,所以不管给i重新赋值多少,下次循环开始的时候都是一个新值。尽管i=10下面的语句可以运行,但不会影响到下次循环

例四简单了,和上面没太大关系,只是在循环结束的时候执行else里面的语句。

猜你喜欢

转载自blog.csdn.net/carrey_0612/article/details/85101292