注意
本篇图片素材都来自慕课网,因为素材过于优秀,直接拿过来了,加水印只是为了防止整篇文章被搬
前言
程序并非是一成不变的向下执行,有的时候也要根据条件的不同选择不一样的代码,这个时候便用到了分支结构
最简单的分支结构
对条件进行判断:
- 如果条件为真,执行“条件为真的分支”
- 如果条件为假,执行“条件为假的分支”
if ... else ... 语句
Python 提供了 if 条件控制语句用于选择执行流程
代码语言:javascript复制if 条件:
条件为真的分支
else:
条件为假的分支
可以选择不带 else 分支
代码语言:javascript复制if 条件:
条件为真的分支
代码栗子一
代码语言:javascript复制# 栗子一
if 2 > 1:
print('2 > 1 is true')
else:
print('2 > 1 is false')
# 输出结果
2 > 1 is true
代码栗子二
代码语言:javascript复制# 栗子二
lis = [1, 2, 3, 4]
if len(lis) > 5:
print('列表长度大于 5')
else:
print('列表长度小于 5')
# 输出结果
列表长度小于 5
代码栗子三
代码语言:javascript复制if 1 == 1:
print('1 == 1 is true')
# 输出结果
1 == 1 is true
多分支选择结构
对多个条件进行判断:
- 如果条件 1 为真,则执行代码块 1
- 如果条件 2 为真,则执行代码块 2
- 如果条件 3 为真,则执行代码块 3
- 如果以上条件都不满足,则执行代码块 4
if ... elif .. elif .. else .. 语句
代码语言:javascript复制if 条件 1:
代码块 1
elif 条件 2:
代码块 2
elif 条件 3:
代码块 3
else:
代码块 4
不带 else 分支
代码语言:javascript复制if 条件 1:
代码块 1
elif 条件 2:
代码块 2
elif 条件 3:
代码块 3
代码栗子
代码语言:javascript复制# 栗子一
from random import randint
res = randint(0, 4)
if res == 0:
print('num is 0', res)
elif res == 1:
print('num is 1', res)
elif res == 2:
print('num is 2', res)
elif res == 3:
print('num is 3', res)
else:
print('num is 4', res)
# 输出结果
num is 2 2
randint 是返回随机整数
分支嵌套结构
程序首先判断条件 1 是否为真
如果条件 1 为真,则判断条件 2 是否为真
- 条件 1 为真并且条件 2 为真,执行代码块 1
- 条件 1 为真并且条件 2 为假,执行代码块 2
如果条件 1 为假,则判断条件 3 是否为真
- 条件 1 为假并且条件 3 为真,执行代码块 3
- 条件 1 为假并且条件 3 为假,执行代码块 4
代码栗子
代码语言:javascript复制# 分支嵌套结构
from random import randint
res1 = randint(0, 1)
res2 = randint(0, 1)
if res1 == 0:
if res2 != 0:
print("0,1")
else:
print("0,0")
else:
if res2 > 0:
print("1,1")
else:
print("1,0")
# 输出结果
1,0
扩展:random 模块详解
https://cloud.tencent.com/developer/article/1833816