python(Mooc)--程序的控制结构

1.程序的分支结构

1.1 单分支结构

解释:如果…就…

if <条件>:
   <语句块>

注意:条件后面有个冒号

1.2 二分支结构

(1)普通形式:

if <条件>:
   <语句块1>
else:
   <语句块2>

(2)紧凑形式
解释:适用于简单表达式的二分支结构

<表达式1> if <条件> else <表达式2>

举例:

guess = evel(input())
print("猜{}了".format("对" if guess==99 else "错"))

1.3 多分支结构

if <条件>:
   <语句块1>
elif:
   <语句块2>
   ...   
else:
   <语句块2>

举例:

score = eval(input())
if score >= 90:
   grade = "A"
elif score >= 80:
   grade = "B"
elif score >= 70:
   grade = "C"
elif score >= 60:
   grade = "D"
print("输入成绩属于{}级别".format(grade))

1.4 条件判断及组合

(1)操作符
在这里插入图片描述
(2)保留字
在这里插入图片描述

1.5 程序的异常处理

(1)基本形式

try:
   <语句块1>
except <异常类型>:
   <语句块2>   

注意:异常类型可不标记,但是标记之后,仅响应该异常,异常类型名字等同于变量

(2)高级使用

try:
   <语句块1>
except <异常类型>:
   <语句块2>   
else:
   <语句块3>
finally:
   <语句块4>   

注意:

  • finally对应语句块4一定执行
  • else对应语句块3在不发生异常时执行

2.实例:身体质量指数BMI

代码:

height,wight = eval(input("请输入身高(米)和体重(公斤)[逗号隔开]:"))
bmi = wight / 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 = "偏胖","偏胖"
elif 28 <=bmi <30:
    who,nat = "偏胖","肥胖"
else:
    who,nat = "肥胖","肥胖"
print("BMI指标为:国际'{0}',国内'{1}'".format(who,nat))

运行结果:
在这里插入图片描述

3.程序的循环结构

3.1 遍历循环

(1)基本形式

for <循环变量> in <遍历结构> :
    <语句块>

解释: 每次循环,所获得的元素放入循环变量,并执行一次语句块

(2)基本应用

  • 计数循环(N次)
for i in range(M,N,K):  //从M开始不到N之间的整数,以K为步伐取数
   <语句块>

解释:遍历有range()函数产生的数字序列,产生循环

  • 字符串遍历循环
for c in s:
    <语句块>

解释:s是字符串,遍历字符串的每个字符,产生循环
举例:

>>>for c in "Python123":
       print(c,end=",")
 //运行结果:P,y,t,h,o,n,1,2,3,
  • 列表遍历循环
for item in ls:
    <语句块>

解释:ls是一个列表,遍历其每一个元素,产生循环

  • 文件遍历循环
for line in fi:
    <语句块>

解释:fi是一个文件标识符。遍历其每行,产生循环

3.2 无限循环

while <条件>:
    <语句块>

解释:反复执行语句块,直到条件不满足为止

3.3 循环控制保留字

  • break跳出并结束当前整个循环,(跳出当前层循环,不跳出外层循环)执行循环后的语句
  • continue结束当次循环,不执行本次循环的后续语句,从头执行新循环

举例:

>>>for c in "PYTHON":
    if c == "T":
       continue
    print(c,end=",")
//运行结果:P,Y,H,O,N
s = "PYTHON"
while s != "":
    for c in s :
       if c== "T":
           break
       print(c,end="")
    s=s[:-1]
//运行结果:PYPYPYPYPYP

3.4 循环的高级用法

循环与else

  • 当循环没有被break语句退出时,执行else语句块
  • else语句块作为“正常”完成循环的奖励
  • 这里的else用法与异常处理的else用法类似

举例:
在这里插入图片描述

4.random库的使用

4.1 基本介绍

  • 使用时import random
  • random库包括两类函数,常用8个
    (1)基本随机数函数:
    seed(),random()
    (2)扩展随机数函数:
    randint(),getrandbits(),uniform(),randrange(),choice(),shuffle()

4.2 基本随机数函数

在这里插入图片描述

4.2 扩展随机数函数

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5.实例:圆周率的计算

#计算圆周率
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("圆周率值是:{}".format(pi))
print("运行时间是:{:.5f}s".format(perf_counter()-start))

在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值