失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python语言程序设计基础答案第四章_《Python语言程序设计基础》第四章笔记

python语言程序设计基础答案第四章_《Python语言程序设计基础》第四章笔记

时间:2020-05-12 20:34:06

相关推荐

python语言程序设计基础答案第四章_《Python语言程序设计基础》第四章笔记

4.1 程序的分支结构

4.1.1 单分支结构

if :

if True:

print(“条件正确”)

4.1.2 二分支结构

if :

else :

if True:

print(“语句块1”)

else :

print(“语句块2”)

if else

guess = eval(input())

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

4.1.3 多分支语句

if :

elif :

……

else :

4.1.4 程序的异常处理

try :

except :

try :

except :

异常处理示例1

try :

num = eval(input("请输入一个整数: "))

print(num**2)

except :

print(“输入不是整数”)

示例2

try :

num = eval(input("请输入一个整数: "))

print(num**2)

except NameError:

print(“输入不是整数”)

注:标注异常类型后,仅响应该异常, 异常类型名字等同于变量

异常处理的高级使用

try :

except :

else :

finally :

注: finally对应语句块4一定执行

else对应语句块3在不发生异常时执行

4.2 "身体质量指数BMI"实例讲解

代码如下:

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 = "偏胖", "偏胖"

elif 28 <= bmi < 30:

who, nat = "偏胖", "肥胖"

else:

who, nat = "肥胖", "肥胖"

print("BMI 指标为:国际'{0}', 国内'{1}'".format(who, nat))

重点在于同时输出国际和国内对应的分类

4.3 程序的循环结构

4.3.1 遍历循环

遍历某个结构形成的循环运行方式

for in :

由保留字for和in组成,完整遍历所有元素后结束

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

计数循环(N次)

从0开始

for i in range(N) :

计数循环(特定次)

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

从M开始到N结束,步长为K,大于N则不执行

for i in range(M,N,K) :

字符串遍历循环

s是字符串,遍历字符串每个字符,产生循环

for c in s :

例:

>>> for c in "Python123":

print(c, end=",")

P,y,t,h,o,n,1,2,3,

列表遍历循环

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

for item in ls :

例:

>>> for item in [123, "PY", 456] :

print(item, end=",")

123,PY,456,

4.3.2 无限循环

while :

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

4.3.3 循环控制保留字

break 和 continue

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

break仅跳出当前最内层循环

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

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

例1:

>>> for c in "PYTHON" :

if c == "T" :

break

print(c, end="")

输出结果:PY

例2:

>>> s = "PYTHON"

>>> while s != "" :

for c in s :

if c == "T" :

break

print(c, end="")

s = s[:-1]

输出结果:PYPYPYPYPYP

4.3.4 循环的高级用法

循环与else

for in :

else :

while :

else :

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

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

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

例1:

>>> for c in "PYTHON" :

if c == "T" :

continue

print(c, end="")

else:

print("正常退出")

PYHON正常退出

例2:

>>> for c in "PYTHON" :

if c == "T" :

break

print(c, end="")

else:

print("正常退出")

PY

4.4 random库基本介绍

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

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

基本随机数函数: seed(), random()

扩展随机数函数: randint(), getrandbits(), uniform(), randrange(), choice(), shuffle()

4.4.1 随机数函数

函数

描述

基本随机数函数

seed(a=None)

初始化给定的随机数种子,默认为当前系统时间 >>>random.seed(10) #产生种子10对应的序列

random()

生成一个[0.0, 1.0)之间的随机小数

扩展随机数函数

getrandbits(k)

生成一个k比特长的随机整数

uniform(a, b)

生成一个[a, b]之间的随机小数

choice(seq)

从序列seq中随机选择一个元素

shuffle(seq)

将序列seq中元素随机排列,返回打乱后的序列

4.5 "圆周率的计算"实例讲解

1、近似公式法

pi = 0

N = 100

for k in range(N) :

pi += 1/pow(16,k)*( \

4/(8*k+1) – 2/(8*k+4) - \

1/(8*k+5) – 1/(8*k+6))

print("圆周率值是: {}".format(pi))

2、蒙特卡罗方法

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

—————本文整理自《Python语言程序设计》

嵩天

北京理工大学

如果觉得《python语言程序设计基础答案第四章_《Python语言程序设计基础》第四章笔记》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。