Python程序控制结构笔记--嵩天老师慕课版

程序的分支结构

单分支结构

根据判断条件结果而选择不同向前路经的运行方式

if <语句块>:
<语句块>

二分支结构

根据判断条件结果而选择不同向前路经的运行方式

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

紧凑形式:适用于简单表达式的二分支结构

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

#例如
print(“猜{}了”.format(“对” if guess == 99 else “错”))

多分支结构

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

程序的异常处理

try :
<语句块1>
except :
<语句块2>

如果程序运行出现错误,则执行except中的语句

#例:

try :
num = eval(input("请输入一个整数: ")) print(num**2)
except NameError: #标注异常类型后,仅响应此类异常 异常类型名字等同于变量名
print(“输入不是整数”)

异常处理的高级使用

try :
<语句块1>
except :
<语句块2>
else :
<语句块3> #else对应语句块3在不发生异常时执行
finally :
<语句块4> #finally对应语句块4一定执行

实例:身体质量指数BMI

  • 输入:给定体重和身高值 - 输出:BMI指标分类信息(国际和国内)
#身体质量制数BMI
height, weight = eval(input("请输入身高(米)和体重(公斤)[逗号隔开]:"))
bim = weight / pow(height, 2)
print("BMI数值为{:.2f}".format(bim)+'\n'+"国际和国内标准分类分别为:")
if bim < 18.5:
    print("偏瘦,偏瘦")
elif 18.5 <= bim < 24:
    print("正常,正常")
elif 24 <= bim < 25:
    print("正常,偏胖")
elif 25 <= bim < 28:
    print("偏胖,偏胖")
elif 28 <= bim < 30:
    print("偏胖,肥胖")
elif 30 <= bim :
    print("肥胖,肥胖")

程序的循环结构

遍历循环

从遍历结构中逐一提取元素,放在循环变量中

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

遍历循环的应用:

计数循环(N次)

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

for i in range(N) :
<语句块>
-计数循环(特定次)

for i in range(M,N,K) : K是步长
<语句块>

字符串遍历循环

: s是字符串,遍历字符串每个字符,产生循环在这里插入图片描述

for c in s :
<语句块>
在这里插入图片描述

列表遍历循环

:ls是一个列表,遍历其每个元素,产生循环
end=”,” 指在print后不进行换行而是接在后面

for item in ls :
<语句块>
在这里插入图片描述
for i in range(365): 0-364 for i in ‘365’: 循环结果为
3
6
5

文件遍历循环

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

for line in fi :
<语句块>

无限循环

:由条件控制的循环运行方式

反复执行语句块,直到条件不满足时结束

while <条件> :
<语句块>

循环控制保留字

  • break跳出并结束当前整个循环,执行循环后的语句

  • continue结束当次循环,继续执行后续次数循环

在这里插入图片描述

  • break和continue可以与for和while循环搭配使用

  • break仅跳出当前最内层循环
    在这里插入图片描述

循环的高级用法

循环与else

for <变量> in <遍历结构> :
<语句块1> else :
<语句块2> while <条件> :
<语句块1> else :
<语句块2>

  • 当循环没有被break语句退出时,执行else语句块

  • else语句块作为"正常"完成循环的奖励

  • 这里else的用法与异常处理中else用法相似

random 库的使用

random库是使用随机数的Python标准库

  • 伪随机数: 采用梅森旋转算法生成的(伪)随机序列中元素

  • random库主要用于生成随机数

  • 使用random库: import random

random库包括两类函数,常用共8个

  • 基本随机数函数: seed(), random()
    在这里插入图片描述
  • 扩展随机数函数: randint(), getrandbits(), uniform(), randrange(), choice(), shuffle()
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    基本随机数函数

扩展随机数函数

实例:圆周率的计算
采用蒙特卡罗方法:

在这里插入图片描述

import time
import random
count = 0
t = time.perf_counter()
n = 1000*1000
for i in range(n):
    x,y = random.random(),random.random()
    if pow(x**2+y**2,0.5) <= 1:
        count = count + 1
pi = 4*(count/n)
t =time.perf_counter()-t 
print("圆周率为{}".format(pi))
print("运行时间为{}".format(t))

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值