📖第3节 循环语句
- ✅while循环的基础语法
- ✅while循环的嵌套
- ✅while循环的嵌套案例
- ✅for循环的基础语法
- 🧊基础语法
- 🧊range语句
- 🧊变量作用域
- ✅for循环的嵌套应用
- ✅循环中断 : break和continue
✅while循环的基础语法
只要条件满足,会无限循环执行
注意事项:
- **条件需提供布尔类型结果,**True继续,False停止
- 空格缩进不能忘
- 请规划好循环终止条件,否则将无限循环**
✅while循环的嵌套
注意:
- 要注意空格缩进,基于空格缩进来决定层次关系
- 注意条件的设置,避免出现无限循环(除非真的需要无限循环)
✅while循环的嵌套案例
使用while嵌套循环,打印九九乘法表:
def test():
i = 1
while i <= 9:
# 定义内层循环的控制变量
j = 1
while j <= i:
# 内层循环的print语句,不要换行,通过\t制表符进行对齐
print(f"{j} * {i} = {j * i}\t", end='')
j += 1
i += 1
print() # print空内容,就是输出一个换行
✅for循环的基础语法
- 基础语法
- range语句
- 变量作用域
🧊基础语法
for 临时变量 in 待处理数据集:
循环满足条件时执行的代码
注意:待处理数据集是可迭代对象,包括:字符串、列表、元组等
遍历字符串:
# 定义字符串name
name = ”itheima”
# for循环处理字符串
for x in name:
print(x)
结果:
i
t
h
e
i
m
a
注意:
- 同while循环不同,for循环是无法定义循环条件,只能被动取出数据处理。
- 要注意,循环内的语句,需要有空格缩进。
所以,理论上讲,Python的for循环无法构建无限循环(被处理的数据集不可能无限大)
🧊range语句
语法1:range(num)
-
获取一个从0开始,到num结束的数字序列(不含num本身)
-
如range(5)取得的数据是:[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]
案例:
# for循环处理字符串
for i in range(5):
print(i)
🧊变量作用域
在for循环内定义的变量是临时变量,在编程规范上,作用范围(作用域),只限定在for循环内部
如果在for循环外部访问临时变量:
-
实际上是可以访问到的
-
在编程规范上,是不允许、不建议这么做的
如果实在需要在循环外访问循环内的临时变量,可以在循环外预先定义。
如图,每一次循环的时候,都会将取出的值赋予i变量。
- 由于i变量是在循环之前(外)定义的
- 在循环外访问i变量是合理的、允许的
✅for循环的嵌套应用
使用for嵌套循环,打印九九乘法表:
def test():
for i in range(1, 10):
for j in range(1, i + 1):
print(f"{j} * {i} = {i * j}\t", end='')
print()
✅循环中断 : break和continue
- continue的作用是:
中断所在循环的当次执行,直接进入下一次 - break的作用是:
直接结束所在的循环 - 注意事项:
continue和break,在for和while循环中作用一致
在嵌套循环中,只能作用在所在的循环上,无法对上层循环起作用
📖入门思维导图