3.3 循环:while
循环结构通常有这个过程:
(1)验证条件是否成立,如果成立则进入第(2)步,否则退出循环;
(2)执行被控制的代码,回到第(1)步;
while语句是其中一种比较常用的循环语句,其形式和if语句非常类似。while语句语法如下:
while 条件: 语句
(1)条件是一个布尔值;
(2)条件成立就执行语句,执行完后再验证条件是否成立,如果不成立则循环结束,否则将一直重复执行下去。
(3)通常使用一个整数变量来控制循环次数。
(4)如果条件永远成立,那么循环很可能执行下去不会停止。称之为“死循环”。
下面是一个循环的例子,当进入while时,首先进行条件判断(i>0是否成立),如果成立,那么进入循环,执行大括号里面的代码(打印,i自减1);然后回去再次测试条件(i大于0),如果成立,又重复执行大括号里面的代码,此过程不停重复直到条件不成立,否则,将一直循环下去。这几条语句将打印10、9、8…3、2、1。
i=10while i > 0: print(i) i=i-1
注意上面出现在while条件里的变量i,它实际上控制了循环的次数,我们把这样的变量称为循环变量。
i是怎么控制循环次数的?
观察条件i>0,如果i大于0,那么此条件成立,同时注意到,while控制的代码里面有一条i=i-1,也就是说,每执行一次循环,i的值就减少1,这样达到一定的循环次数(10次),就会使得i>0这个条件不成立。这个时候,循环就结束了。
假如循环的条件永远成立,那么这个循环就不会结束!这种称为死循环。
例如下面的例子,i的值是10,条件是i>0,那么将进入循环,然而循环每次都会将i增加1,这就意味着i>0永远成立了!实际执行这段代码,i的值会一直增加然后打印,直到i的值到达上限再增加1,发生溢出变成负数!
#死循环i=10while i > 0: print(i) i=i+1
循环变量通常是增加1或者减少1,但不是绝对的,例如下面的例子,i每次增加2,它将打印0,2,4,6,8,这样循环就只有5次了。
i=0
while i < 10:
print(i)
i+=2