五、程序的控制结构
程序的控制结构使老生常谈的问题
1. 顺序结构 :不讲
2. 分支结构:主要使用 if...else... 语句实现
单分支:
if <条件>:
<语句>
双分支:
a = 98
if a==99 :
print("1")
else :
print("2")
#或者是紧凑型写法:适用于简单表达式的二分支结构
# <表达式1> if <条件> else <表达式2>
print("1") if a==99 else print("2")
多分支:
if <条件1>:
<语句1>
elif <条件2>:
<语句2>
elif <条件3>:
<语句3>
elif <条件4>:
<语句4>
条件判断相关:
3. 循环结构
遍历循环:遍历某个结构形成的循环运行方式,结构如下:
for <循环变量> in <遍历形式> :
<语句块>
遍历循环的应用:
#计数循环
for i in range(N):
<语句>
#计数循环(确定次数)
for i in range(N,M):
<语句>
产生 N 到 M-1
for i in range (N,M,K):
<语句>
产生从N到M,并且以K为步长
#字符串的遍历循环
for c in s:
<语句>
c是字符,s是字符串
#对列表的遍历循环
for item in ls:
<语句>
ls是列表,item是列表中的元素
#文件的遍历循环
for line in fi:
<语句>
fi是一个文件,line表示文件的行,遍历文件的每一行
无限循环:由条件控制的循环结构
while <条件>:
<语句>
如果满足条件就一直进行循环中的内容
循环控制保留字:break(一个break只能跳出一层循环)、continue
循环的扩展:
for i in range():
if <条件>:
break
else:
<语句>
#
while <条件>:
if <条件>:
break
else:
<语句>
-如果循环没有被break中断,并且循环到末尾结束,就执行else中的语句,else中的语句作为完成循环的一个奖励
通过else的这个部分可以判断循环中的语句是否被break截断
4. Random 库的使用
Random是使用随机数的Python标准库
-伪随机数:采用梅森旋转算法生成的(伪)随机序列中的元素
基本随机函数:random() 、seed()
import random
#初始化给定的随机数种子,默认使用系统时间
random.seed(x)
#产生[0.0 , 1.0)之间的随机小数
random.random()
#如果每次random之前初始化的seed都为同一值,则产生的随机数也相同
扩展随机数函数:
import random
random.randint(a,b) #生成一个范围在[a,b]之间的随机整数
random.randrange(m,n,k) #生成一个范围在[m,n]之间并且以k为步长的随机整数
random.getrandbits(k) #生成一个k比特长的随机整数
random.uniform(a,b) #生成一个范围在[a,b]之间的随机小数
random.choice(seq) #从seq序列中随机选取一个元素
random.shuffle(seq) #将seq序列中的元素随机排列,返回打乱后的序列