单分支结构:
if <判断条件>:
<执行语句>
二分支结构 :
if <条件>:
执行语句1
else:
执行语句2
二分支紧凑型:这种形式只支持表达式,不支持赋值语句等
<表达式1> if <条件> else <表达式2>
"对" if guess==99 else "错"
多分支语句;
if <条件1>:
语句块1
elif <条件2>:
语句块2
elif <条件3>:
语句块3
.....
else:
<语句块4>
三个保留字and or not
异常处理
try:
<语句块1>
except:
<语句块2>
我们把执行的语句块放在try,如果他发生了错误,则执行except部分的语句,如果没有发生错误,则不会执行except部分语句
还可以在except 后加上异常类型,如果发生这种异常,会执行except部分语句,异常类型是python自定义的
try:
<语句块1>
except:
<语句块2>
else:
<语句块3>
finally;
<语句块4>
finally对应的语句块4一定执行,else对应的语句块3在不发生异常时执行
#calbmi
height,weight=eval(input("请输入身高(米)和体重(公斤)[逗号隔开]:"))
bmi=weight/pow(height,2)
print("BMI值为:{:.2f}".format(bmi))
who,nat="",""
if bmi<18.5:
who,nat="偏瘦","偏瘦"
elif 18.5<=bmi<=24:
who,nat="正常","正常"
elif 24<=bmi<=25:
who,nat="正常","偏胖"
elif 25<=bmi<=28:
who,nat="偏胖","偏胖"
else:
who,nat="肥胖","肥胖"
print("国际标准为:{}国内标准为:{}".format(who,nat))
循环结构:
for <循环变量> in <循环结构>;
<语句块> #遍历循环
每次从遍历结构中取出一个值存入循环变量,然后执行语句块
for i in range(9) 或
for i in range(1,6,2) #计数循环
for c in s:
语句块 #字符串遍历循环
s是字符串,c是字符串中的每一个字符,他能从字符串中按顺序取出每一个字符放入c中
for item in ls:
<语句块> #列表便利循环
ls是一个列表,item是列表中的每一个元素,从列表中按顺序取出每一个元素放入item中
for line in fi:
<语句块> #文件遍历循环
fi是文件标识符,遍历每一行
while <条件> :
<语句块> #条件循环
break 跳出并结束当前整个循环,执行循环后面的语句。
continue 结束当次循环,继续执行后续次数循环
for <循环变量> in <循环结构>:
<语句块1>
else:
<语句块2>
#或
while <条件> :
<语句块>
else:
<语句块2>
#当循环没有被break语句退出时,执行else语句块,else语句块作为正常完成循环的奖励
random库是使用随机数的python标准库
import random
random.seed(10) #产生种子10对应的序列
random.random() #产生一个[0.0,1.0]之间的随机小数
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中的元素随机排列,返回打乱后的顺序
#圆周率的计算
from random import random
from time import perf_counter
DARTS=1000*1000
hits=0.0
start=perf_counter()
for i in range(1,DARTS+1):
x,y=random(),random()
dist=pow(x**2+y**2,0.5)
if dist<=1.0:
hits=hits+1
pi=4*(hits/DARTS)
print("圆周率为:{},运行时间为:{:.5f}".format(pi,perf_counter()-start))