该笔记内容整理于《Python语言程序设计》课程
if <条件>:
<语句块>
if <条件>:
<语句块1>
else:
<语句块2>
紧凑形式:<表达式1> if <条件> else <表达式2>
注意是表达式不是语句,可以将紧凑形式的表达式结果赋值给其他参数:
如 a = 3 if 1 else 2 等同于a = (3 if 1 else 2)
条件判断6种操作符:> >= < <= == !=
条件组合3个保留字:and or not
try :
<语句块1>
except :
<语句块2>
try :
<语句块1>
except <异常类型>:
<语句块2>
标注异常类型后,仅响应此类异常
异常处理的高级用法:
try :
<语句块1>
except :
<语句块2>
else :
<语句块3>
finally :
<语句块4>
其中,finally对应的语句块4一定执行,else对应语句块3不发生异常时执行
学习多个输入;多个变量赋值:a,b = 1, 2;多个变量format格式化输出可以用{0}{1}提高可读性
height, weight = eval(input(“输入身高和体重[用逗号隔开]:”))
for i in range、列表、字符串、字典(dic.items()、dic.keys()、dic.values())
for i in range(M,N,K)
文件遍历循环:for line in fi , fi是一个文件标识符,遍历其每行,产生循环(遍历该文件每一行)
反复执行语句块,直到条件不满足时结束
while <条件>:
<语句块>
break:跳出并结束整个循环
continue:结束当次循环
循环的扩展结构:循环+else
while <条件>:
<语句块1>
else:
<语句块2>
与异常处理中else用法类似,当循环没有被break语句退出时,执行else语句块
伪随机数: 采用梅森旋转算法生成的(伪)随机序列中元素
给定一个随机数种子,通过梅森旋转算法生成随机序列,即对于一个固定的随机数种子,其生成的随机数是固定的
设置种子数,可以用于随机数的复现
random库包括两类函数,常用共8个:
seed(): 指定随机数种子,随机数种子默认为当前系统时间
random(): 生成一个[0.0,1.0]之间的随机小数
randint(a,b): 生成一个[a,b]之间的随机整数
getrandbits(k): 生成一个k比特长的随机整数
uniform(a,b): 生成一个[a,b]之间的随机小数
randrange(m,n[,k]): 生成一个[m,n]之间以k为步长的随机整数
choice(seq): 从序列seq中随机选择一个元素
shuffle(seq): shuffle洗牌,将seq序列中的元素打乱随机排列,并返回打乱后的序列
>>> from random import *
>>> seed(10)
>>> random()
0.5714025946899135
>>> randint(2,6)
5
>>> getrandbits(10)
494
>>> uniform(3,8)
5.890456505672352
>>> randrange(3,10,2)
5
>>> choice(['1','2','3','4'])
'4'
>>> s = ['1','2','3','4']
>>> shuffle(s)
>>> s
['3', '1', '2', '4']
通过落在圆内点数与正方形内点数的比值来计算圆周率
随机点的生成可以转变为随机坐标的生成,再转为随机数的生成