Skip to content

代码的执行结构

导读

代码始终按以下顺序执行

  1. 顺序: 代码始终从上到下逐行执行
  2. 分支: 根据条件选择执行不同的代码块
  3. 循环: 在满足条件时,重复执行代码块

顺序结构

代码始终从上到下逐行执行

py
print(1)
print(2)
print(3)

运行结果:

shell
1
2
3

分支结构

分支结构最重要的一点: 条件

条件始终是布尔类型

比较运算符

与数学的比较符一致

运算符含义实例结果
>大于5>3True
<小于2<4True
==等于3==3True
!=不等于3!=3False
>=大于等于4>=2True
<=小于等于4<=2False

分支 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
    不满足时执行的代码3
py
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()