前言

前面讲解了for循环,大致理解为重复执行某项操作,在python中还有另外一个循环语句,也能实现类似的功能,但在具体的应用场景上会存在一定的区别。

while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:

while 判断条件:

语句块

while的执行流程大致如下(与for循环的执行流程基本一致):

python中while函数可否有两个判断语句 python while 后面可以跟变量么_用while loop计算阶乘

2.while循环

用while循环来完成之前用for完成的例子,之前用for计算1~100的累计总和的例子:

python中while函数可否有两个判断语句 python while 后面可以跟变量么_用while loop计算阶乘_02

如果写while需要怎么写呢?while需要定义好条件变量,伪代码大致是这样子的:

while 条件变量<=100:

计算总和 = 条件变量 + 计算总和

这样是否OK呢?

python中while函数可否有两个判断语句 python while 后面可以跟变量么_用while loop计算阶乘_03

结果不对啊,并且一直没有结束——这样进入了死循环(永远不会结束的循环),因为条件变量没有进行自加,赶紧中止掉:

python中while函数可否有两个判断语句 python while 后面可以跟变量么_python怎么计算总值_04

正确的写法应该是这样的:

while 条件变量<=100:

计算总和 = 条件变量 + 计算总和

条件变量 = 条件变量 + 1

执行情况如下:

python中while函数可否有两个判断语句 python while 后面可以跟变量么_用while loop计算阶乘_05

如果对比会发现while在这种情况的处理下速度要快些:

while: executed in 27ms

for: executed in 35ms

但在咱们日常工作中差异不会太大,可以根据个人习惯来进行使用。

这里计算的都是1~100的加和,那如果想要计算1,  3,  5,  7,  9, 11, 13, 15, 17, 19…… 95, 97, 99(即100以内的奇数-不能被2整除)的总和,那么用for与while又该如何处理呢?下节我们聊下for与while的实现情况,以及其他的一些可能的应用场景。


python中while函数可否有两个判断语句 python while 后面可以跟变量么_python怎么计算总值_06