第四天---程序的控制

单分支结构:

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))

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值