Appearance
代码的执行结构
导读
代码始终按以下顺序执行
- 顺序: 代码始终从上到下逐行执行
- 分支: 根据条件选择执行不同的代码块
- 循环: 在满足条件时,重复执行代码块
顺序结构
代码始终从上到下逐行执行
py
print(1)
print(2)
print(3)运行结果:
shell
1
2
3分支结构
分支结构最重要的一点: 条件
条件始终是布尔类型
比较运算符
与数学的比较符一致
| 运算符 | 含义 | 实例 | 结果 |
|---|---|---|---|
> | 大于 | 5>3 | True |
< | 小于 | 2<4 | True |
== | 等于 | 3==3 | True |
!= | 不等于 | 3!=3 | False |
>= | 大于等于 | 4>=2 | True |
<= | 小于等于 | 4<=2 | False |
分支 if
代码模板
py
if 条件:
满足时执行的代码1
满足时执行的代码2
满足时执行的代码3场景: 年龄超过18岁则打印"已成年"
py
age = 15
if age > 18:
print("已成年")
print("程序结束") 警告
注意代码中高亮的两行代码
在第4行中,print前有一段缩进,它表示属于谁的代码块
例如
py
age = 15
if age > 18:
print("已成年")
print("程序结束") 这里的代码与之前的代码类似,在第5行的print添加了缩进
那么就表示第5行的print归属于if的代码块
这两个代码执行结果完全不同
双分支 if-else
代码模板
py
if 条件:
满足时执行的代码1
满足时执行的代码2
满足时执行的代码3
else:
不满足时执行的代码1
不满足时执行的代码2
不满足时执行的代码3场景: 年龄超过18岁则打印"已成年"
py
age = 15
if age > 18:
print("已成年")
else:
print("未成年")多分支 if-elif-else
代码模板
py
if 条件1:
满足条件1时执行的代码1
满足条件1时执行的代码2
满足条件1时执行的代码3
elif 条件2:
满足条件2时执行的代码1
满足条件2时执行的代码2
满足条件2时执行的代码3
else:
不满足时执行的代码1
不满足时执行的代码2
不满足时执行的代码3py
score = 88
if score >= 90:
print("优秀")
elif score >= 60:
print("及格")
else:
print("不及格")循环
在满足条件时,重复执行代码块
for
次数循环
py
for 第i次 in range(循环几次):
循环的内容从0打印到9
py
for i in range(10):
print(i)提示
range(x)是一个辅助函数,用于生成一个不可变的整数数列
py
# 生成 0,1,2
range(3) #获得3个数,从0开始
# 生成1-4
range(1,5) # 从1开始,在5结束
# 生成 1,3,5,7,9
range(1,10,2) # 从1开始,在10结束,步长2遍历列表
py
nums = [1,2,3]
for num in nums:
print(num)while
py
while 条件:
循环代码:::dange 警告 while 极容易出现死循环,非必要情况不建议使用 :::
计数循环
py
# 从1数到3
i = 1
while i <= 3:
print(i)
i = i + 1死循环
py
while True:
print("这是死循环")警告
死循环是指不存在跳出循环的情况,一直重复执行下去
出现死循环时,按下ctrl+c即可终止程序执行
嵌套
代码是允许嵌套使用的
例如: for + for
py
for x in range(3):
for y in range(2):
print(f"{x},{y}")当然也可以
for + while 或 while + for
也可以使用if等等
训练
尝试打印九九乘法表
shell
1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
1x4=4 2x4=8 3x4=12 4x4=16
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81点我查看答案
py
for i in range(1, 10):
for j in range(1, i+1):
print(f'{j}x{i}={i*j}', end='\t')
print()