首先给大家讲解一下什么叫循环,否则后面会非常的蒙蔽,我们假设一下,今天是新生入学,我们是引导的老师,我们会问一位同学,你是哪个班的,然后他回答一班,那么我们就要指引他们去一班的方向,然后我们会问下一位同学,你是哪个班的,然后他回答二班,那么我们就要指引他去二班,然后在问下一位,他回答一班,那么我们就要指引他去往一班,这个反复询问的过程,就叫我们的循环,我们在反复做的一件事就是我们的循环过程。现在大家有点初步的领悟了吗。
while循环语句
while循环语句是一个常用且简单的条件表达循环语句,表达式如下:
while 执行循环的条件:
执行循环的内容
我们先来一个简单的举例:
当我们满足条件时,就会执行我们的循环内容,内容执行完以后会从新进行我们的条件判断,如果条件成立,会再次进入我们的循环内容,执行我们的循环内容,在上面的例子中,我们首先给定了一个a,并且我们的a=1,在下面的循环条件中,满足a<4,所以会进入我们的循环,打印出我们的“CSDN成就一亿程序员”,然后执行下一步a=a+1,在上一篇文章中介绍了我们的运算符,a=a+1的意思在这里就是自动增加1的意思,简单分析计算就是,等号右边的a为我们的赋值a,为1,然后加上1,给我们左边的a,这个时候我们的a=2,结束第一次循环,将a等于2带入while的条件判断,2<4,执行循环内容,打印“CSDN成就一亿程序员”,然后左边的a这个时候等于2,加上1给我们左边的a,那么我们左边的a=3,然后结束第二次循环,进入while的条件判断,3<4满足条件进入循环,直到我们的a>=4整个循环结束。
结果如下:
这个例子需要新手们好好去理解循环的过程,跟赋值的自增,自增的理解能帮助我们后续解决很多的循环,我们后续很多简易的程序都会在循环的基础上展开,需要新手们多多的理解跟掌握。
在我们的循环执行过程中,我们的循环执行语句还可以用我们的if条件语句,两者相结合可以很好的解决很多条件再条件的筛选的问题,例如我们刚刚解释循环时的举例,我们分析一个学生是否属于我们学校的,如果不属于那后面的问题就没有必要询问了,如果是,那就进入我们的循环询问
下面我们就用while循环语句跟if条件语句解决一下我们的这个问题,进入我们的循环,条件是属于我们学校的学生,那么我们就可以很轻松的定义我们的条件,这里我们以学号在什么范围之内的为我们学校的学生来定义:
这样我们的一个简易的程序就完成了,让我们来执行一下:
这个时候,执行了的小伙伴就会发现,这个程序是错误的,一旦输入了一个数,我们就进入了死循环,一直都只报一个结果,而且重复报一个结果,这是为什么呢?
在我们讲的第一个例子中,我们的a在每一次执行都会自动增加,达到不满足进入循环的条件,这样我们的循环才会终止,而在我们这次例子中,我们没有终止循环的条件,我们输入一个学号以后便会进行判断,满足循环条件后进行循环,结束一次循环之后,再次判断,但是我们的学号并不会改变,也就是永远满足进入我们循环的条件,所以这是一个错误的死循环的程序,那么我们如何更改我们的程序让他不进入死循环呢?
break结束语句
在我们的循环过程中,我们可以使用break结束我们的整个循环过程,break使用的表达式:
while 循环条件:
执行循环的内容
break (执行循环内容后退出循环)
或者
while 循环条件:
if 条件:
执行的内容
break (执行内容后退出循环)
elif 条件:
执行的内容
break
else:
执行的内容
break
在我们使用第一种时,我们的循环只会进行一次,循环的意义就不存在了,所以我们通常使用第二种,现在我们将刚才的程序修改一下:
我们执行一下:
这样我们就不会进入我们的死循环,程序便会自动跳出循环
这个时候会有同学来问,那我岂不是来一个同学就要执行一次程序??这样不是很麻烦嘛,怎么做到一次循环,就可以分辨来的所有学生的所有班级位置呢?
在一次循环中,我们可以改变我们的学生的学号,怎样做呢??我们回想一下我们前面所讲的,我们是如何让我们的循环跳出的? 让我们的a自增,达到无法满足循环的条件,我们这里并不能自增,但是思路的差不多的,在循环的最后重新给我们的学号赋值即可:
我们在最后一步加上我们的input输入,重新给定我们的a然后跳出第一次循环,便可以用我们的新的学号进行条件的判断,让我们来运行一下:
我们发现,这个的一直循环更改学号的程序好了,但是有一个不足的地方就是,当这个学生不属于我们学校的时候,就会跳出我们的循环,这是因为在我们进入循环时的条件就是这个学生必须属于是我们学校的,学号要小于100是才能进入循环,那么我们怎么做到修改能做个就算该学生不是我们学校的也可以继续我们的循环呢?
如果我们先进入循环,在进行学生班级的判断呢??也就是说无论该生是不是我们学校的学生,我们都可以进入循环,这样就不会出现上方的不足了,让我们一起来思考一下:
这这里,我们的思路就构建完成了,但是我们的新的问题出现了,我们如何进入这个循环??怎样能做到一直在这个循环中呢??在这里给大家补充一个小仿佛,我们的布尔运算符,即我们的正确值True,当正确时进入循环:
因为我们没有有True赋予其他的属性,所以我们在整个循环过程中,都是正确的,都能进入我们的循环,这样我们的问题就解决了,让我们来执行一下:
这样,我们就能一直执行下去,然后我们给他补充一个退出的语句即可:
当我们键盘输入999时,我们便可以直接结束我们的循环:
我们while循环的大致内容跟技巧就总结到这里,循环是一个很重要的语句,在一个大的程序编写中,会多次运用到循环,需要我们多打开脑洞,思路,这样我们的循环能实现很多作用。