知识点1:单行动态刷新
刷洗的本质是:用后打印的字符覆盖之前的字符
知识点2:进度条扩展
在任何运行时间需要较长的程序中增加进度条
在任何希望提高用户体验的应用中增加进度条
进度条是人机交互的纽带之一
程序的控制结构
知识点1:单分支结构:
if <条件>:
<语句块>
知识点2:二分支结构:
if<条件>:
<语句块>
else:
<语句块>
二分支结构紧凑形式:
<表达式1>if<条件>else<表达式2>
知识点3:多分支结构:
if<条件>:
<语句块1>
elif:
<语句块2>
.....
else:
<语句块3>
知识点4:条件判断操作符:
<小于
<=小于等于
>大于
>=大于等于
==等于
!=不等于
and 逻辑与
or 逻辑或
not 逻辑非
知识点5:程序的异常处理
异常处理的基本使用:
try:
<语句块1>
expect<异常处理>:
<语句块2>
正常执行try之后的语句块1。若有异常发生,则执行expect之后的语句块2
异常处理的高级使用:
try:
<语句块1>
expect:
<语句块2>
else:
<语句块3>
finally:
<语句块4>
finally的对应的语句块4一定执行,else对应的语句块3在不发生异常时执行
知识点6:程序的循环方式
遍历方式:
for <循环变量>in<遍历结构>:
<语句块>
计数循环:for i in range(n) n次
for i in range(m,n,k)m到n-1,间隔k
字符串遍历循环:
for c in s:
<语句块>
s是字符串,遍历字符串每个字符,产生循环
列表里遍历循环:
for item in ls:
<语句块>
ls是一个列表,遍历其中每个元素,产生循环
文件遍历循环:
for line in fi:
<语句块>
fi是一个文件表示符, 遍历其每行,产生循环
无限循环:
由条件控制的循环运行方式
while <条件>:
<语句块>
注释:若程序运行无限循环,按 ctrl+c 退出循环
循环控制保留字:
break 跳出并并结束当前整个循环,执行循环后的语句,break仅跳出当前最内层循环
continue 结束当次循环,继续执行后续次数循环
循环的扩展
循环与else
for <> in<>:
<语句块1>
else:
<语句块2>
while<条件>:
<语句块1>
else:
<语句块2>
当循环没有被break语句退出时,执行else语句块
else语句作为循环正常结束的“奖励”
知识点7:random库概述
计算机产生的是伪随机数,采用梅森旋转算法生成的伪随机序列中元素
引用 import random
基本随机数函数:seed(),random()
扩展随机数函数:randint(),getrandbits(),uniform(),randrange(),choice(),shuffle()
seed(),初始化给定的随机数种子,默认为当前系统时间,如:random.seed(10)#产生种子10对应的序列
random(),生成一个[0.0,1.0)之间的随机小数
对于同一个种子,产生的随机数序列是固定的。
randint(a,b):生成一个[a,b]之间的整数
randrange(m,n[,k]):生成一个[m,n)之间步长为k的随机整数
getrandbits(k)生成一个k比特长的随机整数
uniform(a,b)生成一个[a,b]之间的随机小数
choice(seq)从序列seq中随机选择一个元素,如:random.choice(1,2,3,4,5,6,7) 结果为随机1-7的数
shuffle(seq)将序列seq中元素随机排列,返回打乱后的序列