对今天下午Python问题,简单总结下。
对自己写的几个for嵌套循环,添加if和else后总是没有结果。归结原因在于,在Python中,for 语句后面对于else也是支持的。当if else.他们都出现的时候,情况是什么样子的呢?举个小例子:
for a in range(4): for b in range(4): if b >=2: print 'b=>',b else: print 'a+b=>',a+b if a<=2: print 'a,b=>',a,b else: print 'a,b,b,a=>',a,b,b,a
我们的本意是:先内部for 循环,for b....,然后在执行 if a<=3...下面的语句:执行结果:
a+b=> 0 a+b=> 1 b=> 2 b=> 3 a,b=> 0 3 a+b=> 1 a+b=> 2 b=> 2 b=> 3 a,b=> 1 3 a+b=> 2 a+b=> 3 b=> 2 b=> 3 a,b=> 2 3 a+b=> 3 a+b=> 4 b=> 2 b=> 3 a,b,b,a=> 3 3 3 3
从最终就结果,我们可以得到,最后的else 语句是属于for 语句的。(属于第一个出现的语句)