Python学习18 : 条件循环(while循环)

2024-08-28  本文已影响0人  简洁的书写

for循环就像是排队办事,一个个进入,轮流办理,每个人经历的流程都一样。

在for循环,一次遍历就是一次循环,因此我们知道会经历过几次循环。

在另一种情况下,我们并不关心循环几次,只在意循环什么时候结束。

这样的循环逻辑,就对应Python中的条件循环(也叫while循环)。

条件循环,又称while循环,以判断条件是否成立,来决定是否执行循环内的代码。当判断为真时,代码会循环执行,当判断为假时则终止循环。

长跑2000米时,判断跑够5圈才能停止跑:在没跑够5圈时,就要一直跑,直到跑够了5圈,就结束。

边界条件(Boundary Conditions)while循环的边界条件,是指终止循环的那个判断条件。边界条件为False,则中止循环。

好象跑圈的时候,条件为小于10圈就一直跑。直到跑到10圈,教练吹哨,就停止跑圈。

nameList = ["Max","Tom","Jim","Ken","Kim"]

counter = 0

while counter < 3:

    print(nameList[counter])

    counter = counter + 1

代码使用了while循环把列表的元素全部输出出来。

第3行使用while循环,判断Counter是否小于3。若是,就进入循环;若不是,程序就终止。

第4行,条件为True时,输出列表nameList中索引为Counter的元素;

第5行,在条件为True时,用Counter计数,继续回到第3行代码,不断循环,直到while循环判断为False,程序结束。

number =100

while number >=0:

print(number)

number = number -1

输出为100,99,98,97。。。。。。3,2,1,0。这些小于100的整数。

sum=0

counter=0

while counter <5:

sum = sum + counter

counter = counter +1

    print(sum)

逐行解释代码:

1. `sum = 0`:初始化一个变量`sum`,用来存储累加的结果,初始值为0。

2. `counter = 0`:初始化一个变量`counter`,用来作为循环计数器,初始值也为0。

3. `while counter < 5:`:这是一个`while`循环的条件,只要`counter`的值小于5,循环就会继续执行。

4. `sum = sum + counter`:在循环体内部,将`counter`的当前值加到`sum`上,更新`sum`的值。

5. `counter = counter + 1`:将`counter`的值增加1,为下一次循环做准备。

6. `print(sum)`:打印当前`sum`的值。

循环会执行5次,因为`counter`从0开始,每次循环加1,直到`counter`等于5时,条件`counter < 5`不再成立,循环结束。

下面是循环执行的详细过程和打印结果:

- 初始时:`sum = 0`, `counter = 0`

- 第1次循环:`counter`为0,`sum`更新为`0 + 0 = 0`,打印`0`

- 第2次循环:`counter`为1,`sum`更新为`0 + 1 = 1`,打印`1`

- 第3次循环:`counter`为2,`sum`更新为`1 + 2 = 3`,打印`3`

- 第4次循环:`counter`为3,`sum`更新为`3 + 3 = 6`,打印`6`

- 第5次循环:`counter`为4,`sum`更新为`6 + 4 = 10`,打印`10`

循环结束后,`sum`的最终值是10,但这个值不会被打印,因为打印语句在循环体内,循环结束后就不再执行。

所以,程序的输出结果是:

0
1
3
6
10

sum= 0

counter= 0

while counter < 5:

    sum = sum + counter

    counter = counter + 1

print(sum)

输出的只是一个数字10。解释如下:这道题和上一道题唯一不同之处在于print()语句所在的位置不一样。上一题,在循环中输出,所以循环进行五次,就输出了五个值。而本题中,print()在while循环之外,并且和while循环处于同一层级,循环结束以后才会执行print,输出最终的值。

死循环(Infinite Loop)
       在编程中,一个靠自身控制无法终止的程序称为“死循环”。死循环是一种循环类型, 当一个循环永远无法终止 的时候,我们就说它是一个死循环。比喻:死循环就像是在一个没有出口的迷宫一直转圈,永远都跑不出这个迷宫。一般来说“死循环”是一个bug,它会导致程序一直无意义运行,我们在写代码的时候一定要尽量去避免。

for循环和while循环的区别在哪呢?

第一个区别:for循环是在每一次循环的时候,按照从头到尾的顺序自动遍历,给变量name赋值列表中的元素;而while循环是用一个计数器来索引列表,分别访问这个列表里面的每个元素。

第二个区别:循环的终止条件不一样。for循环的终止条件是遍历完这个列表;while循环的终止条件是边界条件,counter<5,当边界条件为True的时候继续执行代码,为False的时候就终止执行。

简而言之,需要记住三条。

1. for循环常用于处理列表内的每个元素。

2. for循环有天然的边界条件,while循环没有,需要我们精心设计边界条件。

3. 大多数时候,for循环和while循环可以互换使用。

上一篇下一篇

猜你喜欢

热点阅读