目录
导入
条件循环
边界条件
while循环
死循环
while循环与for循环的区别
总结
知识图谱
导入
我们已经学习了如何利用for语句实现代码重复执行的循环结构。通过遍历列表,输出其中的每一个元素。
for循环就像是排队办事,一个个进入,轮流办理,每个人经历的流程都一样。在for循环,一次遍历就是一次循环,因此我们知道会经历过几次循环。
在另一种情况下,我们并不关心循环几次,只在意循环什么时候结束。这样的循环逻辑,就对应Python中的条件循环(也叫while循环)。
条件循环
定义:条件循环,又称while循环,以判断条件是否成立,来决定是否执行循环内的代码。
当判断为真时,代码会循环执行,当判断为假时则终止循环。
隐喻:长跑2000米时,判断跑够5圈才能停止跑:在没跑够5圈时,就要一直跑,直到跑够了5圈,就结束。
边界条件
while循环中,有一个判断条件,来决定是否执行循环内的代码。判断为True,则继续执行循环;判断为False,就会中止循环。
这样的判断条件,我们称为——边界条件。
定义:while循环的边界条件,是指终止循环的那个判断条件。边界条件为False,则中止循环。
隐喻:跑圈的时候,条件为小于10圈就一直跑。直到跑到10圈,教练吹哨,就停止跑圈。
while循环
理解了while循环的概念,我们来看看代码的语法格式。同样是输出一个列表里面的所有元素,如何使用while循环来完成?
这5行代码使用了while循环把列表的元素全部输出出来。第3行使用while循环,判断Counter是否小于5。若是,就进入循环;若不是,程序就终止。第4行,条件为True时,输出列表nameList中索引为Counter的元素;第5行,在条件为True时,用Counter计数,继续回到第3行代码,不断循环,直到while循环判断为False,程序结束。
nameList = ["Max","Tom","Jim","Ken","Kim"]
counter = 0
while counter < 5:print(nameList[counter])counter = counter + 1
counter初始化
变量counter赋值0,进行初始化。
while
使用关键字"while",表明我们要在这里开始执行”while循环“的代码结构。
边界条件
边界条件,如果该条件成立(True = 真),就执行下面的代码;如果该条件不成立(False = 假),就终止循环。
英文冒号:
一个冒号,循环语句的固定格式,表明接下来缩进的代码块,在每次边界条件为True的时候,都要执行。
四个空格
四个空格,循环缩进的固定格式,表明同样缩进的代码在每次边界条件为True的时候,都要执行。
循环内代码
缩进后的代码,是一个代码块,是循环中要执行的部分。
死循环
for循环是有天然的边界条件——完成遍历。但while循环是有可能一直运行的。只要边界条件为真,它就会一直执行下去。
比如图中代码就会永远执行,这种循环我们又叫做”死循环”。
定义:死循环是一种循环类型,当一个循环永远无法终止的时候,我们就说它是死循环。
隐喻:死循环就像是在一个没有出口的迷宫一直转圈,永远都跑不出这个迷宫。
死循环会一直运行下去。如图,由于边界条件永远为True,因此,循环会一直进行下去,永远不会停止。
一般来说“死循环”是一个bug,它会导致程序一直无意义运行,我们在写代码的时候一定要尽量去避免。
图中,我们修改一下之前的代码,就不会进入死循环了。因为在执行完print()以后我们给tag变量赋值了False,此时while的判断条件为False,循环就结束了。
while循环与for循环的区别
总结一下,从代码的执行结果来看,for循环和while循环,都可以实现相同的功能。但他们的区别在哪呢?
第一个区别:
for循环是在每一次循环的时候,按照从头到尾的顺序自动遍历,给变量name赋值列表中的元素;
而while循环是用一个计数器来索引列表,分别访问这个列表里面的每个元素。
第二个区别:
循环的终止条件不一样。
for循环的终止条件是遍历完这个列表;
while循环的终止条件是边界条件,counter<5,当边界条件为True的时候继续执行代码,为False的时候就终止执行。
总结
学完今天的内容,你明白for循环和while循环的区别了吗?简而言之,需要记住三条。
1. for循环常用于处理列表内的每个元素。
2. for循环有天然的边界条件,while循环没有,需要我们精心设计边界条件。
3. 大多数时候,for循环和while循环可以互换使用。