while 循环语句

程序中的循环


while 条件

       条件满足时,做的事情1

       条件满足时,做的事情2

       条件满足时,做的事情3

       ……(省略)……


只要条件满足,会无限循环执行

演示while循环的基本应用

while循环注意点

1,while的条件需要得到布尔类型,True表示继续循环,False表示结束循环

2,需要设置循环终止条件,如 i += 1配合 i <10 ,就能确保10次后停止,否则将无限循环

3,空格缩进和 if 判断一样,都需要设置

练习案例:求1-100的和

需求:通过while循环,计算从1累加到100的和

提示:

1,终止条件不要忘记,设置为确保while循环100次

2,确保累加的数字,从1开始,到100结束

猜数字案例

设置一个范围为1-100的随机整数变量,通过while循环,配合input语句,判断输入的数字是否等于随机数

* 无限次机会,直到猜中为止

* 每一次猜不中,会提示大了或小了

* 猜完数字,提示猜了几次

提示:

* 无限次机会,终止条件不适合用数字累加来判断(可以考虑布尔类型本身) 

* 需要提示几次猜中,就需要提供数字累加功能

* 随机数可以使用:import random

                               num = random.randint(1,100) 

while循环的嵌套

案例:表白100天,每一天都会送10朵玫瑰花

while嵌套循环的注意点

* 同判断语句的嵌套一样,循环语句的嵌套,要注意空格缩进。(基于空格缩进来决定层次关系)

* 注意条件的设置,避免出现无限循环(除非真的需要无限循环)


补充知识:print输出不换行

默认print语句输出内容会自动换行

我们需要使用print语句,输出不换行的功能

在print语句中,加上end ="即可输出不换行了

(注意:end ="是使用的方法传参功能)

换行

不换行

补充知识:制表符 \t

在字符串中,有一个特殊的符号,叫制表符:\t,效果等同于:tab键

功能:可以使多行字符串进行对齐

对不齐

对齐了

练习案例:打印九九乘法表

通过while循环,输出如下的九九乘法表

1,控制行的循环 i <=9

2,控制每一行输出的循环 j <= i

for 循环

while循环与for循环的区别:

1,while 循环的循环条件是自定义的,自行控制循环条件

2,for 循环是一种“ 轮询 ”机制,是对一批内容进行“逐个处理

for循环就是将“待办事项”逐个完成的循环机制


程序中的for循环

for 临时变量 in 待处理数据集:

       循环满足条件时执行的代码


遍历字符串

遍历字符串# 定义字符串name                                                            运行结果

name = "itheima"                                                                                 i

# for循环处理字符串                                                                              t

for x in name:                                                                                       h

       print(x)                                                                                           e

                                                                                                               i

                                                                                                              m

                                                                                                               a


for循环注意点

同while循环不同,for循环是无法定义循环条件的。

只能从被处理的数据集中,依次取出内容进行处理。

所以,理论上来说,python的for循环无法构建无限循环(被处理的数据集不可能无限大)

练习案例:数一数有几个a

for循环中的待处理数据集,严格说,应该为:序列类型

序列类型指的是其内容可以一个个依次取出的一种类型

包括:字符串,列表,元组等

for循环语句,本质上是遍历:序列类型

range语句

语法1:

range(num)

获取一个从0开始,到num结束的数字类型(不含num本身)

如range取得的数据是:[0,1,2,3,4]

语法2:

range(num1,num2)

获得一个从num1开始,到num2结束的数字序列(不含num2本身)

如,range(5,10)取得的数据是:[5,6,7,8,9]

语法3:

range(num1,num2,step)

获得一个从num1开始,到num2结束的数字类型(不含num2本身)

数字之间的步长,以step为准(step默认为1)

如,range(5,10,2)取得的数据
是:[5,7,9]

练习案例:有几个偶数

定义一个数字变量num,内容随意

并使用range()语句,获取从1到num的序列,使用for循环遍历它

在遍历的过程中,统计有多少偶数出现

提示:

1,序列可以使用:range(1,num)得到

2,偶数通过if来判断,判断数字余2是否为0即可

for循环的变量作用域


for 临时变量 in 待处理数据集:

      循环满足条件时执行的代码


临时变量,在编程规范上,作用范围(作用域),只限定在for循环内部

如果在for循环外部访问临时变量:

1,实际上是可以访问到的

2,在编程规范上,是不允许,不建议这么做的

如需访问临时变量,可以预先在循环外定义它

如图,第二个4就是for循环外部访问时输出的值

for循环的嵌套

练习案例:坚持表白100天,每天都送10朵花

for循环的嵌套注意点

1,需要注意缩进,嵌套for循环同样通过缩进确定层次关系

2,for循环和while循环可以相互嵌套使用

练习案例:for循环打印九九乘法表

循环中断:break和continue

break:直接结束

continue:临时跳过

continue关键字用于:中断本次循环,直接进入下一次循环

continue可以用于:for循环和while循环,效果一样

上方代码:

1,在循环内,遇到continue就结束当次循环,进行下一次

2,所以,语句2不会被执行

应用场景:

在循环中,因某些原因,临时结束本次循环

continue的嵌套应用

break关键字用于:直接结束循环

break可以用于:for循环和while循环,效果一致

上方代码:

1,在循环内,遇到break就结束循环了

2,所以,执行了语句1后,直接执行语句3了

循环中断语句 break

break的嵌套应用

总结:

1,continue的作用是:中断所在循环的当次执行,直接进入下一次

2.,break的作用是:直接结束所在的循环

3,注意事项:

* continue和break,在for和while循环中作用一致

* 在嵌套循环中,只能作用在所在的循环上,无法对上层循环起作用

练习案例:发工资

某公司,账户余额有1W元,给20名员工发工资

* 员工编号从1到20,从编号1开始,依次领取工资,每人可以领取工资1000元

* 领工资时,财务判断员工的绩效分(1-10)(随机生成),如果低于5,不发工资,换下一位

* 如果工资发完了,结束发工资

提示:

1,使用循环对员工依次发放工资

2,continue用于跳过员工,break直接结束发工资

3,随机数可以用:

 

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐