循环语句 while
循环语句-while
简介
在日常生活中很多问题都无法一次解决,比如一年中依次按顺序出现春夏秋冬这四个季节,每年季节的变换都重复着春夏秋冬这个过程。
有些事物必须周而复始地运转才能保证其存在的意义。例如,公交车、地铁等交通工具必须每天在同样的时间往返于始发站和终点站之间。
类似这样的反复做同一件事的情况,称为循环。
循环主要有两种类型:
- 重复一定次数的循环,称为计次循环。 比如跑步五公里,每公里就是一个计次单位。
- 直到条件不满足时才停止重复执行的循环,称为条件循环。 比如直到跑不动为止,这没有具体的跑量,结束跑步的条件是跑不动了。
程序中的循环
循环语句允许执行一个语句或语句块多次。
当有重复运行一个代码块的需求时,不需要也不能多次复制来实现,有时候事先都无法知道什么时候需要循环结束,所以复制多次来实现基本是不可能的。
Python 提供了两种类型的循环可以应对不同的使用场景。
for-in
循环: 计次循环while
循环: 条件循环
下图是大多数编程语言中循环语句的一般形式
在程序开始之后,会进入一个判断(或者是先执行一个语句后再进入判断),判断条件成立的时候就会再次执行语句块,执行完成该语句块之后会再进行判断条件是否符合,不符合时就会结束循环,否则一直循环执行下去。
说明:在其他语言中(例如,C、C++、Java 等),条件循环还包括 do…while
循环,但
是,在 Python 中没有 do…while
循环。
循环的作用
- 提高代码复用性,减少代码冗余
- 遍历序列(字符串,元组,列表,字典等)
循环的构成要素
初始化语句:
一条或多条语句,用于完成一些初始化工作。初始在循环开始之前执行。循环条件:
一般是一个布尔表达式,这个表达式能决定是否执行循环体循环体:
这个部分是循环的主体,如果循环条件允许,这个代码块将被重复执行。迭代语句:
这个部分在每次执行循环体结束后,对循环条件求值之前执行,通常用于控制循环条件中的变量向趋近于结束条件改变。
上面四个部分只是一般分类,并不是每个循环中都非常清晰地分出这几个部分。
while
循环
在日常的生活中有时候循环的次数通常不会在刚开始就知道,而是满足条件之后就停止循环。
如有一路公交车不是固定时间间隔发车,而是在人数满足多少个之后就发车,一直到晚上的11点准时收工,那么没有到11点的话就会一直重复,直到条件不满足时才结束的循环,称为条件循环。
只要条件为真,这种循环会一直持续下去,通常指的是 while
循环。
while
循环的语法
while 条件表达式:
循环体
当条件表达式的返回值为真时,则执行循环体中的语句,执行完毕后,重新判断条件表达 式的返回值,直到表达式返回的结果为假时,退出循环。
while
循环实战
实战1: 求 1~10 之间所有整数的乘积。
# 保存结果的变量
result = 1
# 循环控制变量
n = 2
# 开始循环
while n <= 10:
# 计算乘积
result *= n
# 改变循环变量向结束条件趋近
n += 1
# 输出结果
print("1~10的乘积为:", result)
实战2: 输入密码,直到密码输入正确,输出 登录成功
。
password = "password" # 设置正确的密码
input_password = ""
while input_password != password:
input_password = input("请输入密码: ")
print("密码正确,登录成功!")
实战3: 在行酒令中,有一个数 7 小游戏,游戏参与者依次报数,但需要跳过所有包含 7 或 7 的整数倍的数字,编写程序找出 1~100 范围内所有符合该条件的数字,方便在游戏中跳过。
# 循环变量实始化
n = 1
# 循环条件
while n<=100:
# 数字对7求模为0,则表示该数字是7的倍数
# 将数字转换为字符串类型,使用成员运算符判断字符7是否在字符串中,检查包含关系
if n % 7 == 0 or "7" in str(n):
# 输出满足条件的数字
print(n)
# 改变循环变量趋近于结束条件
n += 1