程序的分支控制
目录
1. 程序的分支控制
1.1 单分支结构
根据判断条件结果而选择不同向前路径的运行方式
if <条件>:
<语句块>
1.2 二分支结构
if <条件>:
<语句块1>
else:
<语句块2>
1.2.1 紧凑形式
紧凑形式:适用于简单表达式的二分支结构
<表达式1> if <条件> else <表达式2>
1.3 多分支结构
if <条件1>:
<语句块1>
elif <条件2>:
<语句块2>
……
else:
<语句块N>
- 注意多条件之间的包含关系
- 注意变量取值范围的覆盖
1.4 条件判断及组合
1.4.1 条件判断
操作符 | 数学符号 | 描述 |
---|---|---|
< | < | 小于 |
<= | ≤ | 小于等于 |
>= | ≥ | 大于等于 |
> | > | 大于 |
== | = | 等于 |
!= | ≠ | 不等于 |
1.4.2 条件组合
操作符及使用 | 描述 |
---|---|
x and y | 两个条件x和y的逻辑与 |
x or y | 两个条件x和y的逻辑或 |
not x | 条件x的逻辑非 |
1.5 程序的异常处理
try:
<语句块1>
except:
<语句块2>
这个是最基本的异常处理语句
try:
<语句块1>
except <异常类型>:
<语句块2>
这个是在except后面标注异常类型,程序只响应自己所标注的异常
try:
<语句块1>
except:
<语句块2>
else:
<语句块3>
finally:
<语句块4>
finally
对应语句块4一定执行else
对应语句块3在不发生异常时执行、
2. 程序的循环结构
2.1 遍历循环
遍历某个结构形成的循环运行方式
for <循环变量> in <遍历结构>:
<语句块>
- 从遍历结构中逐一提取元素,放在循环变量中
- 由保留字
for
和in
组成,完整遍历所有元素后结束 - 每次循环,所获得元素放入循环变量,并执行
2.1.1 计数循环(N次)
fro i in range(N):
<语句块>2.1.1 计数循环(N次)
2.1.2 计数循环(特定次)
fro i in range(M,N,K):
<语句块>
- 这个中M,N这两个值自己填写,也就是range()函数运行时的取值范围,k代表着步长,也就是在这个范围内取值,值与值之间的相差
2.1.3 字符串遍历循环
for c in s:
<语句块>
-
s是字符串,遍历字符串每个字符,产生循环
例如:
for c in 'python': print(c, end=',')
结果:p,y,t,h,o,n,
2.1.4 列表遍历循环
for item in ls:
<语句块>
- ls是一个列表,遍历其每个元素,产生循环
例如:
for item in [123, "PY", 456]:
print(item, end=",")
结果:123,PY,456,
2.1.5 文件遍历循环
for line in fi:
<语句块>
- fi是一个文件标识符,遍历其每行,产生循环
- 这个得打开文件,在进行操作,我目前没有学到
2.2 无限循环
while <条件>:
<语句块>
如果遇到死循环,可以使用快捷键CTRL+C 退出执行
2.3 循环控制保留字
2.3.1 break和continue
- break跳出并结束当前整个循环,执行循环后的语句
- continue结束当次循环,继续执行后续次数循环
- break和continue可以与for和while循环搭配使用
2.4 循环的高级用法
for:
for <变量> in <遍历结构>:
<语句块1>
else:
<语句块2>
while:
while <条件>:
<语句块1>
else:
<语句块2>
- 当循环没有被break语句退出时,执行else语句块
- else语句块作为"正常"完成循环的奖励
- 这里else的用法与异常处理中else用法相似
3. random库基本介绍
random库是使用随机数的Python标准库
- 伪随机数:采用梅森旋转算法生成的(伪)随机序列中元素
- random库主要用于生成随机数
- 使用random库:
import random
3.1 random库概述
random库包括两类函数,常用共8个
-
基本随机数函数:
seed(), random()
函数 描述 seed(a=None) 初始化给定的随机数种子,默认为当前系统时间 random() 生成一个[0.0, 1.0)之间的随机小数 -
扩展随机数函数:
randint(), getrandbits(), uniform(),randrange(), choice(), shuffle()
函数 描述 randint(a,b) 生成一个[a, b]之间的整数 randrange(m, n[, k]) 生成一个[m, n)之间以k为步长的随机整数 getrandbits(k) getrandbits(k) uniform(a, b) 生成一个[a, b]之间的随机小数 choice(seq) 从序列seq中随机选择一个元素 shuffle(seq) 将序列seq中元素随机排列,返回打乱后的序列