快速导航栏
一、循环
1、循环语句
本章节将向大家介绍Python的循环语句,程序在一般情况下是按顺序执行的。编程语言提供了各种控制结构,允许更复杂的执行路径。循环语句允许我们执行一个语句或语句组多次,Python 提供了 for 循环和 while 循环(在 Python 中没有 do…while 循环):
循环类型 | 描述 |
---|---|
while 循环 | 在给定的判断条件为 true 时执行循环体,否则退出循环体。 |
for 循环 | 重复执行语句 |
嵌套循环 | 你可以在while循环体中嵌套for循环 |
2、循环控制语句
循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:
控制语句 | 描述 |
---|---|
break 语句 | 在语句块执行过程中终止循环,并且跳出整个循环 |
continue 语句 | 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。 |
pass 语句 | pass是空语句,是为了保持程序结构的完整性。 |
二、while循环语句
1、基本格式
Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:
while 判断条件(condition):
执行语句(statements)……
执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。当判断条件假 false 时,循环结束。
相比for循环最大特点: 可以无限循环
细节:
1、True一般可以用数字1代表,False只能是0代表
2、非0即为True
3、None: 空的,无意义
4、无限循环一定要设置结束条件
2、基础应用
例1:要求打印’hello python’50次
# 需求: 要求打印'hello python'50次
"""
分析: 重复执行n次考虑用循环
循环条件: 小于50次继续循环
循环内容: 打印'hello python'
结束控制: 从第1次开始每次加1直到第50次完事结束
"""
# 1.定义变量赋初始值
i = 1
# 2.条件判断
while i <= 50:
# 3.循环体
print('hello python', i)
# 4.条件控制
i += 1
例2:求1-100的和示例
# 需求: while循环求1-100的和
"""
分析:利用循环中i能够不断自增的特点
设置i初始值1,不断自增到100结束
此时打印i其实就是打印1-100
"""
# 1.定义变量赋初始值
i = 1
# 循环外定义sum变量用于记录每次求和结果
sum = 0
# 2.条件判断
while i <= 100:
# 3.循环体
# 累加求和: sum =0 + 1 + 2 + 3 +...+100
sum += i # sum = sum + i
# 4.条件控制
i += 1
# 循环外使用最终sum结果
print(sum)
例3:无限循环示例
"""
无限循环: 又叫死循环,恒成立的条件,循环的内容如果不设置条件不会停下来
实现无限循环的方式:
方式1: 正常的while循环,不加条件控制
方式2: while循环条件用两个字面量比较结果是True
方式3(建议): while循环条件直接用True
方式4: while循环条件直接用1
注意: True一般用数字1代表,False只能用数字0代表
特点: 非0即为True
None: 在python代表空的没有意义的
注意: 循环一般要设置条件,满足对应条件跳出循环 使用关键字break
"""
while True:
print('我停不下来了~')
例4:猜数字游戏-无限次数并统计次数
"""
需求: 编写猜数字(1-100)游戏的小程序,
要求只要猜不对就继续猜,直到猜中为止
并且需要统计猜中及之前一共猜了多少次
"""
# 1.random随机生成底数
import random
num = random.randint(1, 100)
print(num)
# 5.1循环外定义计数器,初始值0
count = 0
# 4.1无限循环(猜中为止,统计次数)
while True:
# 循环体
# 2.input获取用户猜的数
guess = int(input('请您输入猜的数(范围1-100):'))
# 5.2每猜一次,计数器统计一次
count += 1
# 3.上述两个数比较给出提示(猜中,大,小)
if 1 <= guess <= 100:
if guess == num:
print('恭喜,猜中了!')
# 4.2跳出循环
break
elif guess > num:
print('猜大了!')
else:
print('猜小了!')
else:
print('输入有误!!!')
# 5.3循环外使用最终次数
print(f'您一共猜了{count}次,猜中了')
例5:打印九九乘法表
# 九九乘法表
# 外层循环控制行数
# 1.外层循环初始变量b
b = 1
# 2.外层循环条件判断
while b <= 9:
# 3.整个内层循环都是外层循环的循环体
a = 1
while a <= b:
print(f'{a}*{b}={a * b}', end='\t')
a += 1
# 每行内容打印完进行换行操作
print()
# 4.外层循环条件控制
b += 1
三、for循环
1、基本格式
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。for循环的语法格式如下:
"""
for循环又叫遍历循环
遍历: 把元素依次从数据集中取出的过程
格式:
for 临时变量名 in 数据集:
循环体
"""
# 需求: 已知字符串"Python大数据",要求把每个汉字依次打印出来
name = 'Python大数据'
# for循环遍历name
for i in name:
print(i)
for循环: 又叫遍历循环,需要提前准备好数据集然后从中一个个取出达到循环效果
"""
for循环变量作用域: 仅限于当前for循环内部
注意:python中即使在外部访问了它只有警告没有报错
while循环变量作用域: 所有循环内外都可以使用
"""
# 需求: for循环打印2,4,6,8,10
for a in range(2, 11, 2):
print(a)
# for循环外部访问临时变量
print('for循环临时变量:', a)
print('----------------------------')
# 需求: while循环打印2,4,6,8,10
b = 2
while b < 11:
print(b)
b += 2
# while循环外部访问初始变量
print('while循环变量:', b)
range函数格式: range(x,y,z)
x: 初始值 注意: 默认是0,如果要是其他数手动写上
y: 结束值 注意: 不含y本身
z: 步长 注意: 默认是1,如果要是其他数手动写上
注意: 变量作用域规范上应该仅限于当前循环内部,但是python中如果外部访问了只会警告,不会报错
2、基础应用
例1:
"""
for循环又叫遍历循环
特点: 数据集需要提前准备好
"""
# 需求: for循环打印1-5
for i in range(1, 6):
print(i)
print('----------------------------')
# 需求: for循环打印0-5
# 注意: 0可以省略
for i in range(6):
print(i)
print('----------------------------')
# 需求: for循环打印2,4,6,8,10
for i in range(2, 11, 2):
print(i)
print('----------------------------')
# 需求: while循环打印2,4,6,8,10
i = 2
while i < 11:
print(i)
i += 2
# 对比for循环和while循环看看有什么区别
学习了for遍历循环后再打印九九乘法表就会简单很多了,如下
# 外层循环变量i控制行数
for i in range(1, 10):
# 整个内层循环都是外层循环的循环体
for j in range(1, i + 1):
# 注意: 同一行内容无需换行,使用\t加缩进即可
print(f"{j}*{i}={j * i}", end="\t")
# 每行内容打印完换行操作
print() # 默认有end='\n'
四、break和continue
1、break语句
作用:
Python中break语句,就像在C语言中,打破了最小封闭for或while循环。break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。
break语句用在while和for循环中。 如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。
示例:
# break: 跳出循环,结束循环
# 需求: 假设从18岁正常上班到99岁,要求60岁退休
for i in range(18, 100):
if i == 60:
print(f"终于{i}岁了,可以享受退休生活了...")
# 跳出循环
break
# 循环体
print(f"{i}岁了,正在上班...")
2、continue语句
作用:
Python中continue 语句跳出本次循环,而break跳出整个循环。
continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。
continue语句用在while和for循环中。
示例:
# continue: 结束本次循环,继续下一次循环
"""
需求: 半夜坐电梯,电梯一共1-20层,
正常每层都停,要求在4,14,18层不停
"""
for i in range(1, 21):
if i == 4 or i == 14 or i == 18:
continue
# 循环体
print(f'{i}层到了~')
注意:在嵌套循环中,continue和break只能作用在所在的循环上,无法对上层循环起作用