分支
单分支
if <条件>:
<语句块>
二分支结构
if <条件>:
<语句块1>
else:
<语句块2>
多分支结构
if <条件1>:
<语句块1>
elif <条件2>:
<语句块2>
else:
<语句块3>
程序异常处理
try:
<语句块1>
except <异常类型>:
<语句块2>
else:
<语句块3>
finally:
<语句块4>
Note1:先执行try后面的语句块1,如果发生指定的异常,则执行语句块2,最后执行语句块4;若语句块1没有发生指定的异常,则执行语句块3和语句块4。
提出两个非本小节的注意事项。
Note1: python 中对于多个变量同时赋值的方法是
input1,input2,…,inputn = para1,para2,…,paran
matlab中对多个变量赋值的方法是使用deal()函数
[input1,input2,…,inputn] = deal(para1,para2,…,paran)
Note2: C/C++中不允许出现a < b < c这种形式,要写成b > a && b < c,但是在python中可以写成a < b < c。
循环
遍历循环for
for循环可以出现以下几种情况:
- 计数循环(N次)
for i in range(N):
<语句块>
- 字符串遍历
for i in s: #其中s是一个字符串
<语句块>
- 列表循环
for item in ls:
<语句块>
- 文件遍历
for line in fi:
<语句块> #其中fi是文件标示符,对文件的每一行进行遍历
综上可以得出,for 语句的循环一般格式为
for <循环变量> in <遍历结构>:
<语句块>
无限循环while
和C/C++中的一致。在此需要在重申一遍continue和break。其中continue是跳出当前一次的循环,执行下一次循环;而break是直接跳出循环。当多层循环嵌套时,break是跳出最里层的循环,而不是所有的循环。
另外,需要注意一下循环else的用法:如果循环有没被break掉,则执行一次else。否则不执行else。
random库
这几次讲到的库都是python内置的库,不需要我们再单独安装。同样random库也是内置库。该库中主要有以下几个方法:
- 基本随机数函数:seed(),random()
- 扩展随机数函数:randint() , getrandbits() , uniform() , randrange() , choice(), shuffle()
func | state |
---|---|
seed(a=None) | 初始化给定的随机数种子,默认为当前系统的时间 |
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中随机选择一个元素 |
shuffle(seq) | 将序列seq元素随机排列,返回打乱后的序列 |