一、循环语句
1、while 循环
(1)基本格式
while 【判断条件】:
【满足条件时执行的代码块】
(2)注意事项
-
判断条件的结果一定要是布尔类型
-
判断条件后需要加冒号(:)
-
执行的代码块前方需要填充 4 个空格缩进
-
规划好循环终止条件,否则将无限循环
(3)基本使用
# 求 1 - 100 的和
sum = 0
i = 1
while i <= 100:
sum += i
i += 1
print("1 - 100 的和为", sum)
- 输出结果
1 - 100 的和为 5050
2、print() 语句补充
(1)输出不换行
- 在 print() 语句中,加上 end = “” 即可输出不换行
# 输出不换行
i = 0
while i < 10:
if i % 2 == 0:
print("Hello", end = "")
else:
print("World ", end = "")
i += 1
- 输出结果
HelloWorld HelloWorld HelloWorld HelloWorld HelloWorld
(2)制表符
- 制表符 \t 效果等同于 Tab 键,可以让多行字符串进行对齐
print("Hello\tWorld")
print("Thanks\tJack")
- 输出结果
Hello World
Thanks Jack
3、while 循环案例:打印九九乘法表
i = 1
j = 1
while i <= 9:
while j <= 9:
if j <= i:
print(f"{j} * {i} = {j * i} ", end = "")
j += 1
print()
j = 1
i += 1
- 输出结果
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
4、for 循环
(1)基本格式
for 【临时变量】 in 【待处理数据集】:
【执行的代码块】
(2)注意事项
-
待处理数据集后需要加冒号(:)
-
无法定义循环条件,只能被动取出数据处理
-
执行的代码块前方需要填充 4 个空格缩进
(3)基本使用
str = 'Hello World'
for x in str:
print(x, "-", end = "")
- 输出结果
H -e -l -l -o - -W -o -r -l -d -
5、range() 语句
(1)前言
-
for 循环语法中的待处理数据集严格来说应该称之为可迭代类型,可迭代类型指,其内容可以一个个依次取出的一种类型,包括字符串、列表、元组等,for 循环语句,本质上是遍历可迭代对象
-
通过 range() 语句,可以获得一个简单的数字序列(可迭代类型的一种)
(2)基本格式
range(【num】)
-
获取一个从 0 开始,到 num 结束的数字序列(不含 num 本身)
-
如 range(5) 取得的数据是:[0, 1, 2, 3, 4]
range(【num1】, 【num2】)
-
获得一个从 num1 开始,到 num2 结束的数字序列(不含 num2 本身)
-
如 range(5, 10) 取得的数据是:[5, 6, 7, 8, 9]
range(【num1】, 【num2】, 【step】)
-
获得一个从 num1 开始,到 num2 结束的数字序列(不含 num2 本身),数字之间的步长,以 step 为准(默认为 1)
-
如 range(5, 10, 2) 取得的数据是:[5, 7, 9]
(3)基本使用
# range(【num】)
for x in range(5):
print(x, "", end = "")
print("\n------------------------------")
# range(【num1】, 【num2】)
for x in range(5, 10):
print(x, "", end="")
print("\n------------------------------")
# range(【num1】, 【num2】, 【step】)
for x in range(5, 10, 2):
print(x, "", end="")
- 输出结果
0 1 2 3 4
------------------------------
5 6 7 8 9
------------------------------
5 7 9
6、for 循环的变量作用域
(1)案例演示
for x in range(5):
print(x, "", end = "")
print(x)
- 输出结果
0 1 2 3 4 4
(2)案例说明
-
临时变量,在编程规范上,作用范围(作用域)只限定在 for 循环内部
-
如果在 for 循环外部访问临时变量,实际上是可以访问到的,但在编程规范上,是不允许、不建议这么做的
(3)规范建议
- 如果实在需要在循环外访问循环内的临时变量,可以在循环外预先定义
i = 0
for i in range(5):
print(i, "", end = "")
print(i)
- 如上,每一次循环的时候,都会将取出的值赋予 i 变量,由于 i 变量是在循环之前(外)定义的,在循环外访问 i 变量是合理的、允许的
7、for 循环案例:打印九九乘法表
for x in range(1, 10):
for y in range(1, x + 1):
if (y <= x):
print(f"{y} * {x} = {y * x} ", end = "")
print()
- 输出结果
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
二、循环中断
1、continue 关键字
(1)基本介绍
-
continue 关键字用于中断本次循环,直接进入下一次循环
-
continue 关键字可以用于 for 循环和 while 循环,效果一致
(2)基本使用
for x in range(2):
print("语句 1 -----")
for y in range(2):
print("语句 2 ----------")
continue
print("语句 3 ---------------")
- 输出结果
语句 1 -----
语句 2 ----------
语句 2 ----------
语句 1 -----
语句 2 ----------
语句 2 ----------
2、break 关键字
(1)基本介绍
-
break 关键字用于直接结束所在循环
-
break 关键字可以用于 for 循环和 while 循环,效果一致
(2)基本使用
for x in range(2):
print("语句 1 -----")
for y in range(2):
print("语句 2 ----------")
break
print("语句 3 ---------------")
- 输出结果
语句 1 -----
语句 2 ----------
语句 1 -----
语句 2 ----------