2025-2026学年第一学期3.2 Python语言程序设计 第3、4、5课时(教学课件)信息技术浙教版2019必修1

资源下载
  1. 二一教育资源

2025-2026学年第一学期3.2 Python语言程序设计 第3、4、5课时(教学课件)信息技术浙教版2019必修1

资源简介

(共88张PPT)
教材版本册别:浙教版(2019)必修1
高中信息技术
汇报人:Mr.yang
第3章 算法的程序实现
第2节 (3课时)
Python语言程序设计
学习目录
03.
分支结构的程序实现
04.
循环结构的程序实现
05.
函数与模块
学习目标
1
2
掌握分析问题、设计算法、编写程序、调试运行等步骤的具体内容和方法;
了解用计算机解决问题的一般过程;
3
能够运用所学知识分析实际问题,并尝试用计算机解决简单问题,提升信息技术学科素养和对科技认同感;
经典算法之农夫带狼、羊和蔬菜过河问题。
一个农夫要带着一条狼、一头山羊和一篮蔬菜过河,但只有一条小船。每次只能让农夫带一样东西过河,而且农夫在场的情况下三样东西将相安无事。一旦农夫不在,狼会吃羊,羊会吃蔬菜。请进行任务分析,帮助农夫安全地带这三样东西过河?
小组讨论

课堂导入
方法一

课堂导入
单击此处编辑母版文本样式
第二级
第三级
第四级
第五级
方法二

课堂导入
带羊过河
再带羊过河
带菜过河
开始
结束
带狼还是带菜?
带菜过河
把羊带回来
带狼过河
带狼过河
把羊带回来
流程图
有一个选择

课堂导入
假设本次项目有农夫(farmer)、狼(wolf)、羊(sheep)、蔬菜(vegetable)四个角色,农夫在场的情况下三样东西将相安无事。一旦农夫不在,狼会吃羊,羊会吃蔬菜。
要求:编写一个简单Python程序,判断状态是否安全?
问题描述
分析算法
第1步:带羊过河--提示“安全”,否则提示“危险”
第2步:判断带菜还是带狼(分支判断)
第3步:带羊回来--提示“安全”
第4步:提示“任务完成,全员安全过河!”
带菜
提示:“注意要保护好蔬菜哦!”
带狼
提示:“注意要保护好羊哦!”

课堂导入
分支结构的程序实现
01

分支结构的程序实现
1.if 语句
(1)单分支if语句
if(条件表达式)后面加冒号“:”,当语句A是由多个语句构成的复合语句时,所有语句严格遵循相同的缩进。
执行过程
如果条件表达式为真,则执行语句A,然后继续往下执行;
如果条件表达式为假,则不执行语句A,然后继续往下执行。
格式
if<条件> :
<语句块>

分支结构的程序实现
(2)双分支if语句


执行过程:
如果条件表达式为真,则执行语句A,
然后继续往下执行。如果条件表达式为假,则执行语句B,然后继续往下执行。
if(条件表达式)后
面加冒号“:”,当语句A和语句B是由多个语句构成的复合语句时,所有语句严格遵循相同的缩进。
格式:
if<条件> :
<语句块1>
else :
<语句块2>


分支结构的程序实现
注意
if语句中的冒号表示下方紧接着一个语句块。在Python中,语句块是一行或放在一起多行的语句,一般通过行缩进来标识。同一个if语句中,if、else下方的语句块必须采用相同的缩进。
在Python中,行尾冒号的作用是告诉Python接下来要创建一个新的语句块。因此,只要某一行以冒号结尾,它接下来的内容就应该有缩进。Python中有一个惯例:总是将语句块缩进4个空格。
语句块缩进

分支结构的程序实现
讨论探究
区间测速
目前,国内很多高速公路都启用了区间测速。所谓区间测速,是在同一路段上布设两个监测点,基于车辆通过前后两个监测点的时间来计算车辆在该路段上的平均行驶速度,并依据该路段上的限速标准判定车辆是否超速,(下图所示)。
区间测速示意图
现有一段长为25千米的测速区间,小车的限速是100千米/时。数据中心需要编写一段程序,用来判断某辆小车在此测速路段是否超速。

分支结构的程序实现
抽象与
建模
要判断某辆小车在该测速区间内是否超速,首先要求出该小车的平均车速,然后与限速100千米/时进行比较,若平均车速小于等于限速,属于正常;否则就判定为超速。而求平均车速时需要提供区间距离和行驶时间。区间距离已经明确,小车的区间行驶时间可通过小车经过前后两个监测点的时间差来计算,为简化问题,可将时间差作为行驶时间的输入数据。各个数据相应的数据类型及变量名如下表所示。
区间测速数据分析表
通过上述的问题抽象,可建立如下计算模型:

分支结构的程序实现
设计算法
根据上述计算模型,解决问题的关键是根据v值做出判断,可采用分支结构设计算法。
超速判断算法流程图

分支结构的程序实现
编写程序
根据算法编写的程序及测试结果如下:
程序 测试结果
s=25 t=int(input("请输入用时(秒) :")) v=s*3600/t if v<=100: print("正常") else: print("超速") 请输入用时(秒) :800
超速

分支结构的程序实现
2.if-elif 语句
作用:应用if条件语句可以快速地实现程序的分支选择,但当分支比较多时,用if...elif...else语句来实现比较简便。
格式
if<条件1> :
<语句块1>
elif<条件2> :
<语句块2>
……
elif<条件N> :
<语句块N>
else :
<语句块N+1>
执行
过程

分支结构的程序实现
在上述“区间测速”的基础上,如果某辆小车超速,数据中心能同步显示超速的程度,如“超过规定时速且不足 20%”“超过规定时速 20%以上且不足 50%”“超过规定时速 50%以上且不足70%”“超过规定时速 70%以上”。如何用程序来实现这个目标?
抽象与建模
(1)
根据超速标准,设定如下表所示的判断条件。
超速标准及其判断条件对应表

分支结构的程序实现
设计算法
(2)
超速程度判断算法流程图
当条件v≤100不成立时,需要参照上表进一步对平均车速进行判断。算法对应的流程图如右图所示。

分支结构的程序实现
编写程序
(3)
程序 测试结果
s=25 t=int(input("请输入用时(秒) :")) v=s*3600/t print("平均车速",round(v,1)) if v<=100: print("正常") elif v<120: print("超过规定时速且不足20%") elif v<150: print("超过规定时速20%以上且不足50%") elif v<170: print("超过规定时速50%以上且不足70%") else: print("超过规定时速70%以上") 请输入用时(秒) :720
平均车速 125.0超过规定时速20%以上且不足50%
根据算法编写的程序及测试结果如下:

分支结构的程序实现
只需知道数据之间相互链接的顺序
探讨与讨论
1.已知password存储了用户input()输入的密码(注:经过数据类型转换,password最后存储整数型密码),如果密码等于667722则打印输出"恭喜!密码正确"。下列选项能准确表达此逻辑的是( )
B
解析:读题可知密码被转化为整型,所以不需要用引号括起来。条件语句==表示判断相等。故选B。
A.if password=="667722":
print("恭喜!密码正确")
B.if password==667722:
print("恭喜!密码正确")
C. if password=667722:
print("恭喜!密码正确")
D.if password="667722":
print("恭喜!密码正确")

分支结构的程序实现
只需知道数据之间相互链接的顺序
探讨与讨论
2.小马设计了一个程序,其功能是根据用户输入自己的年龄,判断其是否成年,由于不小心误删了两行代码,请你推测可能删除的代码是下列哪个选项(当年龄大于等于18显示成年,否则显示未成年):
age=_______
if _______:
print("成年")
else:
print("未成年")
A.int(input( )) age>=18
B.input() age>=18
C.int( input( )) age>18
D.input() age>18
A
解析:当年龄大于等于18显示成年,因此age>=18,排除C和D选项;input()获取的用户信息是字符串类型,18是整数类型,相同数据类型才能进行比较,因此需要将用户输入信息转换为整数类型,排除B选项。故选A。
循环结构的程序实现
02

循环结构的程序实现
循环结构的算法
for语句
while语句
01
02
1.for 语句
for循环语句是通过遍历某一序列对象来构建循环,循环结束的条件是对象遍历完成。
①概念:
②格式:
for <变量> in <序列> :
<循环体>
[else:
<语句块>]

循环结构的程序实现
for <变量> in <序列> :
<循环体>
注意
迭代变量
<变量>:每经过一次循环,就会得到序列中的一个元素,并通过循环体处理它
<序列>:通常是字符串、列表、range对象实例等
当序列中的元素全部遍历完时,程序会自动退出循环,继续执行else子句中的语句块(该else子句可选)。若循环过程中执行了循环体中的break语句,则程序会中途退出for语句,转而去执行for语句后面的语句(即使有else子句,该子句也不会被执行)。

循环结构的程序实现
案例
hobby=["篮球","羽毛球","看书","旅游","音乐"]
for x in hobby:
print(x)
代码一 代码二
hobby=["篮球","羽毛球","看书","旅游","音乐"] for x in hobby: print(x) 篮球 羽毛球 看书 旅游 音乐 hobby=["篮球","羽毛球","看书","旅游","音乐"]
for x in range (0,len(hobby)):
print(hobby[i],i)
篮球 0
羽毛球 1
看书 2
旅游 3
音乐 4
x依次取到
'篮球’
'羽毛球’
'看书’
'旅游’
'音乐'
hobby[i]依次取到
篮球
羽毛球
看书
旅游
音乐
i依次取到
0
1
2
3
4
hobby列表索引值

循环结构的程序实现
不知同学们注意到上面的for循环语句中有一个缩进,有无缩进对于for循环有没有影响呢?
想一想
冒号“:”代表下一行是循环的第一行,但是循环体在书写时需要缩进。在for循环中,从for语句末尾的冒号开始至其下面没有缩进的代码之间都是其包含的需要重复执行的部分。因此,for循环所包含的语句是以缩进为标志的。
单击此处编辑母版文本样式
第二级
第三级
第四级
第五级

循环结构的程序实现
range函数
格式
功能
总结
range( start, end , steps )
start:起始值(可以不写(不写时默认从0开始));
end:终值(取不到)
steps:步长(默认1,可省略)
创建一个整数列表
在for循环中,当序列遍历完后,序列的长度就是for循环语句执行的次数

循环结构的程序实现
案例
range(1,6)其实是生成一个1~6的整数(不包含6)。
使用range( )函数时,还可指定步长

循环结构的程序实现
刚才的两个案例都是
升序,能不能生成一个倒序
的数组呢?
使用range( )函数时,数值列表也可以是降序的,如range(10,1,-2)就是生成10至2的偶数(降序)。

循环结构的程序实现
请编写一个循环打印星星的程序,要求如下:
1、输入需要打印的行数数row
2、每行需要打印输出的星星数与该行的行数是一致的
3、星星统一使用符号*3>
【温馨提示:请用for循环完成此题!】
r=int(input("请输入需要打印的行数:"))
n="*"
for r in range(1,r+1):
print(n*r)

循环结构的程序实现
只需知道数据之间相互链接的顺序
探讨与讨论
1.Python中专门用于生成序列的内置函数是( )。
A.eval() B.range()
C.input() D.print()
B
解析:A 错误eval()函数是将字符串str当成有效的表达式来求值并返回计算结果。
B 正确range()函数允许用户在给定范围内生成一系列元素。
C 错误input()函数是用来实现Python信息的输入。
D 错误print()函数是用来向屏幕上输出指定的字符串。

循环结构的程序实现
探讨与讨论
2.下面的程序段运行后的结果为( )
s=0
for i in range(1,6,2):
s=s+i
print(s)
A.15 B.10
C.12 D.9
D
解析:本题考查的是Python循环语句。range(1,6,2)生成的是1,3,5的整数,故s=0+1+3+5=9。选项D正确。

循环结构的程序实现
只需知道数据之间相互链接的顺序
探讨与讨论
3.运行下列程序,正确的结果是_________________
s=0
for i in range (1,5):
s=s+i
print("i=",i,"s=",s)
答案:i=4 s=10
解析:本题主要考查程序的运行。for循环中i的变化范围是从1~4,循环结束时i =4,s=0+1+2+3+4=10。

循环结构的程序实现
2.while 语句
同学们都在自动取款机上取过钱吧,密码泄露等不安全因素对银行的安全性发出了巨大的挑战。而密码输入次数限制是维护账号安全的一种有效方式,避免了不法分子通过试错的方式获取密码。
银行卡取款:有效次数限制密码

循环结构的程序实现
在许多情况下,当一个循环执行之前,可能并不知道它需要执行的次数。这时,就可以使用while循环。
用法
格式
注意
当型循环,只要条件满足,就不断循环;否则,退出循环。
while <条件> :
<循环体>
这里有缩进

循环结构的程序实现
表达式
语句或语句组
N
Y
while(表达式):
语句或语句组
①表达式一般是一个关系表达式或一个逻辑表达式,表达式的值应该是一个逻辑值真(True)或假(False)。
②当表达式的值为真时,执行循环体语句;当表达式的值为假时,退出循环,执行循环体外的下一条语句(即while后面没有缩进的第一条语句)。
③每次循环都是执行完循环体语句后回到表达式处重新开始判断,重新计算表达式的值。一旦表达式的值为假就退出循环,为真时就继续执行循环体语句。
④循环体中必须有改变条件表达式值的语句,否则将成为死循环。

循环结构的程序实现
动动手
讨论探究
编程实现一个“猜数游戏”。给定一个数让用户猜,用户输入猜测的数,计算机给出相应提示:“偏大”“偏小”或“正确”。若所猜数字正确,则游戏结束;否则继续猜数。
猜数游戏

循环结构的程序实现
抽象与
建模
通过上述的问题抽象,建立如下模型:
游戏中首先要确定一个数number,然后将用户猜测的数guess与number比较,直到相等为止。
猜数结果=
“正确”(guess = number),游戏结束。
“偏小”(guess<number),继续猜数。
“偏大”(guess>number),继续猜数

循环结构的程序实现
设计算法
要将用户输入的数与给定数(如number值为23)进行反复比较,用布尔型变量running表示猜数是否正确,其值为True表示猜数正确,游戏结束;反之,继续猜数。
猜数游戏流程图

循环结构的程序实现
编写程序
根据算法编写的程序及测试结果如下:
程序 测试结果
number=23 running=False while not running: guess=int(input("请输入猜测的数:")) if guess==number: print("正确") running=True elif guess偏大
请输入猜测的数:20
偏小
请输入猜测的数:100
偏大
请输入猜测的数:25
偏大
请输入猜测的数:23
正确

循环结构的程序实现
只需知道数据之间相互链接的顺序
探讨与讨论
1.下列有while循环结构的说法不正确的是( )
A.While循环格式一般为:While(表达式):语句或者语句组
B.执行过程中表达式一般是一个关系表达式或逻辑表达式;
C.表达式为真执行循环体;为假退出循环。
D.表达式为假执行循环体;为真退出循环。
D
解析:本题考查while循环结构,While循环格式一般为:While(表达式):语句或者语句组;执行过程中表达式一般是一个关系表达式或逻辑表达式;表达式为真执行循环体;为假退出循环。故本题选D选项。

循环结构的程序实现
3.循环嵌套
概念
多重循环,即“循环嵌套”。如果某一种循环语句中包含着自身或其他循环语句,就称为循环的嵌套”。for 循环或while 循环之间可以相互嵌套。
作用
无论是for循环还是while循环,都需要一个控制循环的变量来控制循环的执行。但是,有些循环仅靠循环变量自身的变化难以达到想要的控制效果,因此需要用到控制循环的跳转语句。实现控制循环的跳转需要用到break和continue两个关键字。其中,break是中断循环,continue是跳出本次循环体的执行。

循环结构的程序实现
①break语句
在循环结构中,可以用break语句跳出当前循环体,从而中断当前循环。在实际运用中,往往是在循环体中使用某一个条件来选择是否中断循环,即跳出当前循环,继而执行当前循环外的下一条语句。也就是说,当某个条件成立的时候,需要立即退出循环,不再运行循环中余下的代码,也不管循环控制变量的条件测试的结果如何。使用break语句,即可让程序能按照要求执行要执行的代码。

循环结构的程序实现
②continue语句
continue语句是对break语句的补充。continue不是立即跳出循环体,而是当条件符合需要跳转的时候,跳过该次循环结束前的语句,回到循环开头的条件测试部分,重新开始执行循环。同理,在实际运用中,往往是在循环体中使用某一个条件来选择是否跳转循环。

循环结构的程序实现
没有break语句
s=["tea","teacher","student","stu"]
for ch in s:
print(ch)
else:
print("完整输出")
运行对应程序,观察输出结果
for循环完整执行,
则else子句执行

循环结构的程序实现
含有break语句
s=["tea","teacher","student","stu"]
c=input("输入:")
for ch in s:
if c in ch:
break
print(ch)
else:
print("完整输出")
运行对应程序,观察输出结果
break语句执行时,for循环提前结束,else子句不执行。

循环结构的程序实现
含有continue语句
s=["tea","teacher","student","den"]
c=input("输入:")
for ch in s:
if c in ch:
continue
print(ch)
else:
print("完整输出")
运行对应程序,观察输出结果
continue语句不管是否执行,for循环均会完整执行,else子句均执行。

循环结构的程序实现
语句 break语句 continue语句
特点 结束整个循环,转而执行循环结构后面的语句 结束本次循环,继续下一次循环。
相同点 两者都只能用于循环之中。 不可单独使用。在嵌套循环中,Break和continue只会对最近的一层循环起作用,也就是就近原则。 代码实例 for i in range(1,11): for j in range(1,11): if i+j!=10: break print(i,j) for i in range(1,11):
for j in range(1,11):
if i+j!=10:
continue
print(i,j)
运行结果 9 1 1 9,2 8,3 7,4 6,5 5,6 4,7 3,8 2,9 1

循环结构的程序实现
1.构建嵌套的循环需要注意:
(1)缩进关系要保证好,内部的循环该缩进的要缩进,保持好层级关系才能让程序正确运行。
(2)内外循环使用的计数变量不能相同,这样才可以保证不同循环的独立性,不会互相错乱。
2.while循环嵌套和for循环嵌套一样,只需要改写成对应循环即可,注意不要忘了计数变量的自增、自减。

循环结构的程序实现
只需知道数据之间相互链接的顺序
探讨与讨论
1.关于Python循环结构,以下选项中描述错误的是( )。
A. Python通过for、while等保留字提供遍历循环和条件循环结构。
B. break用来跳出最内层for或者while循环,脱离该循环后程序从循环代码后继续执行。
C. continue语句的作用是中止整个循环。
D. 遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等。
C
解析:A 正确;B 正确;C 错误 continue语句只结束本次循环体的执行,而不是中止整个循环。D 正确。
函数与模块
03

函数与模块
同学们,你们在考试时会用到哪些文具?是全部拿在手里吗?若不是,通常是如何保管?
同样的,Python有很多内建函数、常数,和你的做法类似,把这些内建函数和常数放到工具包中,这些工具包在Python中称之为模块。

函数与模块
在用算法解决问题的过程中,经常采用模块化程序设计思想,将问题分解成若干个子问题,并用相对独立的程序段来针对性地解决各个子问题,提高程序设计的效率。对于一些常用的程序代码,以模块化的形式进行保存,需要时可重复调用。
在Python中,主要利用函数、模块等方式实现模块化程序设计。

函数与模块
函数的构造及应用
Python中的内建函数能实现许多功能,但在实际程序设计中,并不是所有的功能都有内建函数来直接提供支持,有时候需要根据实际情况自己构造函数以实现常用代码的模块化。
定义函数的语法
def 函数名(参数集合) :
<函数体>
[return 函数值]
define定义的意思
与变量的命名规范相同
冒号不能缺少
1个tab键或者四个空格键的缩进

函数与模块
函数名的命名规则和变量名一样
同学们能说出变量名的命名规则么?
1
2
3
4
5
6
变量名可以包括字母、数字和下划线“_”,但不能以数字开头;
变量名区分大小写;
为了便于理解,变量名应具有一定含义,即“见名知意”;
不能用系统关键字作为变量名;
变量名中不能有“\/&%*$ <}^”等特殊字符与标点;
变量名中不能有空格。

函数与模块
讨论探究
某地块示意图如下图甲所示,地块边长分别为L1、L2、L3、L4。要想计算其面积,可通过如下算法来完成:先将此地块划分成如图3.2.12乙所示的两个三角形,只要再丈量出L5的长度,就可以利用海伦公式分别计算出这两个三角形的面积S1和S2,从而得到此地块的总面积S(S=S1+S2)。
某地块示意图

函数与模块
分析
在上述算法的程序实现过程中,将两次使用海伦公式求三角形的面积,这可以通过构造一个函数来解决代码重复的问题。
下面的Python程序段构造了一个利用海伦公式求三角形面积的函数Area : def Area(a,b,c): p=(a+b+c)/2 s=(p*(p-a)*(p-b)*(p-c))**0.5 return s 主程序在调用Area函数时,需要将三角形三条边的边长值分别传递给Area函数的参
数a、b、c。
主程序中有函数调用表达式Area(3,4,5),则函数表达式传递给边长a、b、c的值分别为3、4、5。计算如上图所示不规则地块面积的表达式为:S=Area(L1,L2,L5)+Area(L3,L4,L5)。

函数与模块
只需知道数据之间相互链接的顺序
探讨与讨论
1.下列对于函数名的命名规则说明正确的是( )
A.函数名可由字母、数字、下划线组成
B.函数名可由字母、数字、下划线、特殊符号组成
C.函数名可以由数字开始
D.函数名必须由字母、数字、下划线组成
A
解析:B选项:函数名不能由特殊符号组成;C选项:函数名不能由数字开始;D选项:函数名可以由字母、数字、下划线组成,但是不是必须每个都要用到。故答案选A。

函数与模块
只需知道数据之间相互链接的顺序
探讨与讨论
2.小马想用函数实现加法运算,要求如下:
(1)输入两个数 a,b;(2)定义函数add,将 a+b 的结果计算出来
(3)调用add函数,打印结果
请你根据要求,为代码缺少部分选出正确的选项:
a = float(input())
b = float(input())
_________
_________
add()
B
B.def add():
print(a+b)
C.def add:
print(a+b)
D.def add:
print(a+b)
A.def add():
print(a+b)

函数与模块
3.请使用函数实现小队旗的打印,要求如下:
(1)定义一个函数fun
(2)在函数fun内,打印小队旗
(3)调用fun函数
示例
输出:
A
I*
I**
I***
I
I
def fun():
print('''A
I*
I**
I***
I
I''')
fun()
代码

函数与模块
4.定义函数实现:对于半径为r的球,求出球的体积。其体积的计算公式为v=(4*π*r**3)/3这里取π=3.14。现给定r,即球半径,类型为int,求球的体积V(r为外部输入整数)。
示例
输入:
2
输出:
球的体积为 33.49333333333333
r=int(input())
def fun():
v=(4*3.14*r*r*r)/3
print("球的体积为",v)
fun()
代码

函数与模块
模块的导入及应用
什么是模块

模块是python中的最高级别组织单元,它将程序代码和数据封装起来以便重复使用。
模块中包含了实现某一类业务的多个函数和属性。
模块就是一个实现某种业务的工具包。
要使用工具包中的工具(一般是函数),就需要导入这个模块。模块也称包或者库。
在python中,一个文件就叫做一个模块(以“.py”为后缀名)。

函数与模块
python中模块的位置在哪里呢?
打开python的安装位置,在安装位置文件中找到Lib文件夹

函数与模块
所有python自带的模块都在Lib文件夹中

函数与模块
Python的模块的导入的语法
引入模块的语句是:import

函数与模块
import 模块名1 [as 别名1], 模块名2 [as 别名2] 注:方括号里的可以省去
使用这种语法格式的 import 语句,会导入指定模块中的所有成员(包括变量、函数、类等)。当需要使用模块中的成员时,需用该模块名(或别名)作为前缀加上成员名。
01
02
import math as s
x=s.sqrt(2)
print(x)
import math
x=math.sqrt(2)
print(x)
案例:

函数与模块
from 模块名 import 成员名1 [as 别名1],成员名2 [as 别名2]
注:方括号里的可以省去
使用这种语法格式的 import 语句,只会导入模块中指定的成员,而不是全部成员。同时,当程序中使用该成员时,无需附加任何前缀。
01
02
from math import sqrt as pf
x=pf(2)
print(x)
from math import sqrt
x=sqrt(2)
print(x)
案例:

函数与模块
math模块
名称 含义
math.e 自然常数e
math.pi 圆周率π
math.ceil(x) 对x向上取整,如x=1.2,返回2
math. floor(x) 对x向下取整,如x=1.2,返回1
math.pow(x,y) 指数运算,返回x的y次方
math.log(x) 对数运算,默认基底为e
math.sin(x)/math.cos(x) 正弦函数/余弦函数
math.tan(x) 正切函数
math.degrees(x) 弧度转换成角度
math.radians(x) 角度转换成弧度
math.sqrt(x) 求x的开方
math模块中的常用常数与函数
Python math 模块:
提供了许多对浮点数的数学运算函数。

函数与模块
试试使用Python math 模块:
在编程求圆面积时,公式s=πr 2 中的π和r 2 可以分别调用math模块中的圆周率常数math.pi和函数pow(r,2) 来完成。
程序 测试结果
import math r=float(input("请输入圆的半径r :")) pi=math.pi s=pi*pow(r,2) print("圆面积是:",str(s)) 请输入圆的半径r :5
圆面积是: 78.53981633974483

函数与模块
木桶表面积计算
造价=每平米造价X表面积
利润=报价-造价
每平方米的价格是60

函数与模块
#导入数学模块
import math
#输入客户需求
r=float(input(“请输入半径长:”))
h=float(input(“请输入木桶高度:”))
m==float(input(“请输入你的预算:”))
#计算表面积
s=math.pi*math.pow(r,2)+2*math.pi*r*h
#计算利润
profit=m-s*60
print(profit)

函数与模块
random模块
名称 含义
random.random() 随机生成一个【0,1)范围内的实数
random.uniform(a,b) 随机生成一个【a,b】范围内的实数
random.randint(a,b) 随机生成一个【a,b】范围内的整数
random.choice(seq) 从序列的元素中随机挑选一个元素
如:random.choice(range(10)),即从0到9中随机挑选一个整数
random.sample(seq,k) 从序列中随机挑选k个元素
random.shuffle(seq) 将序列的所有元素随机排序
Python random模块:
Python中的random模块用于生成随机数。

函数与模块
import random
print ("第一个随机数: ", random.random())
import random
print(random.choice(['剪刀', '石头', '布']))
试试用random模块生成一个随机数:
试试用random模块玩石头剪刀布的游戏:

函数与模块
试试使用random模块:
例如有高一年级的(2)班、(3)班、(5)班、(8)班、(9)班共5个班的学生参加大合唱比赛,为了公平起见,需要随机安排他们的出场顺序。使用random模块,可以完成此任务。
程序
import random
cla=["(2)班","(3)班","(5)班","(8)班","(9)班"]
random.shuffle(cla)
for x in cla:
print(x)

函数与模块
Image模块
Image模块是PIL库(Python Imaging Library)中的重要模块,引用它可以完成对图像的一些常用操作,比如获取图像尺寸和像素颜色、旋转图像或改变图像格式等。
代码 释义
from PIL import Image im =Image.open("school.jpg") print(im.format) print(im.size) print(im.mode) im.rotate(45).show()
#打开school.jpg图像文件
#获取图像文件格式
#获取图像尺寸大小(以像素为单位表示图像的宽度和高度)
#获取图像的颜色模式
#将图像旋转45°后显示

函数与模块
除了上述提到的模块,还有吗?有怎么用?
除了上述提到的模块,Python还包括了大量的其他模块,它们的功能涉及系统管理、科学计算、图形处理等各个领域。比如,用于实现部分操作系统功能(可用于文件、目录等操作)的os模块,与时间处理有关的time模块,可以实现科学计算、数据可视化的numpy和matplotlib,用于多媒体开发和游戏软件开发的pygame模块,支持图形处理的tkinter等。

函数与模块
只需知道数据之间相互链接的顺序
探讨与讨论
1.下列关于导入模块math方法错误的是:
A.import math
B.import math as shuxue
C.from math import all
D.from math import *
C
解析:根据导入模块常见的三种方法得知,并没有from math import all的方法,故选项C方法错误。
2.请编写程序实现:输入圆环的内径和外径,输出圆环的面积。
要求:
(1)保留到小数点后两位;
(2)使用math模块;
(3)同行输入圆环的内径和外径(第一个数为内径,第二个数为外径)。
示例
输入:
4 6
输出:
15.71

函数与模块
import math
n=input().split(" ")
s=math.pi*(math.pow(float(n[1])/2,2)-math.pow(float(n[0])/2,2))
print("%.2f"%s)
代码
3.编写程序实现:
学校的操场可以简单的看作是由两个半圆和一个长方形组成,请外部输入跑道单边的长度L和操场周长C,求出操场的占地面积。
要求:
(1)外部同行输入两数据,
先输入周长c再输入L
(2)结果保留两位小数。
示例
输入:
200 50
输出:
2387.32

函数与模块
import math
s=input().split()
c=float(s[0])
l=float(s[1])
d=(c-2*l)/math.pi
s=math.pi*math.pow(d/2,2)+d*l
print('%.2f '%s)
代码
小结
04

小结
课堂小练
05

课堂小练
只需知道数据之间相互链接的顺序
探讨与讨论
1.小明同学在自动售货机(图1)选择价值2.5元的饮料,然后在收款口放入10元。自动售货机接收到货币后,在商品取出口投放小明所要的饮料,并找零7.5元。
图1
关于用计算机解决问题说法中正确的是①使用计算机现成的软件工具能解决所有的问题②相较人类计算机存储能力更强计算精准度更高③利用计算机自动化程度极高提升信息加工效率④利用计算机的高速运算能力提高信息处理能力( )
A.①②③ B.①②④ C.①③④ D.②③④
D

课堂小练
只需知道数据之间相互链接的顺序
探讨与讨论
2.人工智能医疗影像诊断系统中,确定如何准确识别病变区域的方法是在( )
A.抽象与建模 B.算法设计 C.代码实现 D.结果验证
B
解析:本题考查计算机编程解决问题相关内容。在人工智能医疗影像诊断系统中,确定如何准确识别病变区域的方法是在算法设计步骤。A选项,抽象与建模主要是对医疗影像诊断问题进行抽象分析,建立系统的整体架构和模型,但不涉及具体识别病变区域的方法确定。C选项,代码实现是将设计好的算法转化为实际的程序代码,是在确定方法之后的步骤。D选项,结果验证是对已经实现的系统进行验证其准确性和可靠性,也不是确定识别病变区域方法的步骤。算法设计步骤是专门针对如何准确识别病变区域进行方法的设计,所以确定如何准确识别病变区域的方法是在算法设计步骤。故本题答案是B选项。

课堂小练
只需知道数据之间相互链接的顺序
探讨与讨论
3.编程计算依赖于计算机高精确度、高速运算等特点可以解决多种数学问题,以下不属于数值计算的是( )
A.图像处理 B.函数计算
C.方程求解 D.数列求和
答案:A
解析:本题主要考查计算机编程计算。数值计算包括函数计算、 方程求解、 数列求和等,不包括图像处理,故本题选A选项。

课堂小练
只需知道数据之间相互链接的顺序
探讨与讨论
4.小张在学习了Python程序语言后,想编写一套《班级学生积分管理》程序帮助老师更高效地管理班级。在问题解决过程中最后完成的是( )
A.编写程序 B.设计算法
C.调试程序 D.分析问题
答案:C
解析:本题考查程序设计解决问题相关内容。运用计算机程序解决问题的一般步骤是:分析问题、设计算法、编写程序、调试程序。故本题答案是C选项。
高中信息技术浙教版必修1
谢谢!

展开更多......

收起↑

资源预览