内容正文:
情景二 控制程序的结构
主题
有趣的随机数
序号
3
课时
2
教学手段
多媒体、板书、实训室
教学方法
讲授法、演示法、案例法
教学课型
□理论 □实训 √一体化 □( 其它 )
教学目标
能力目标:熟练掌握导入模块的三种方式。
知识目标:了解模块的功能和常用的模块。
素质目标:接受新知识、自主学习的能力 。
教学重点
导入模块的三种方式
教学难点
常用模块相关属性
教学过程设计
备注
一、引出本节上课内容
在程序开发过程中,通常都是由多名程序员分工协作一起完成程序的开发;Python在安装后就已经有了内置模板,并且还可以使用功能丰富的第三方开源模块,这使用编写代码不必从零开始,大大提高了代码的开发周期提高效率。
二、教学内容
1、导入模块
Python中提供了以下三种方式导入模块:
import 模块名
import 模块名 as 模块别名
from 模块名 import 函数名/子模块名/属性
在安装Python时就默认已经安装好的模块被称为“标准库”,也称为内建库,比如math模块。有人把它们称为Python自带的电池,意思是Python拥有无限能量。熟悉标准库的使用是编程必须的。
math模块中有大量常用的数学计算函数,如三角函数(sin(),cos(),tan())、反三角函数(asin(),acos(),atan())、对数函数(log(),log10(),log2())等,还有数学常量如pi(圆周率)、e等。
可以用dir(math)查看math模块中的函数(方法)与常量(属性)。
Python自带的模块或者是第三方库,在安装时,系统自动将模块的存放路径记录在sys.path列表中。那么自己编写的模块,如何能让解释器知道路径呢?其实有两种方法。第一种方法是在sys.path列表里添加自己所写模块的路径;第二条方法是设置系统的环境变量,使其包含模块的路径。
import sys #导入sys模块
sys.path.append('d:\\py') #sys.path列表里追加.py文件的路径d:\\py
import demo #导入demo.py模块
demo.myfunction (5) #文件名.函数名(参数)
Python中的random模块用于生成随机数,它提供了很多函数。
random.random() #用于生成一个0到1的随机浮点数: 0 <= n < 1.0
random.randint(a,b) #返回a,b之间的整数,注意:a,b均是整数,且a要比b小
random.randrange([start=0], stop[, step=1]) #只能传入整数,且不包括stop
random.choice(sequence) #从sequence(序列,列表、元组和字符串)中随机获取一个元素
random.shuffle(x) #用于将列表中的元素打乱顺序
random.sample(sequence,k) #从指定序列中随机获取k个不重复元素作为一个列表返回, sample函数不会修改原有序列。
2、常用模块
datetime模块定义了以下几个类,来处理时间和日期。
(1)datetime.date:表示日期的类。常用的属性有year, month, day;
(2)datetime.time:表示时间的类。常用的属性有hour,minute, second,microsecond;
(3)datetime.datetime:表示日期和时间的类;
(4)datetime.timedelta:表示时间间隔,即两个时间点之间的长度。
calendar模块是一个日历模块,用于生成日历等。
3、猜数字游戏
(1) 首先:导入随机模块
import random
(2) 再将:姓名存入列表
names = ['张三', '李四', '王五', '赵六', '孙七', '周八', '吴九', '郑十']
(3) 最后:使用流程控制语句实现随机点名
使用while循环语句创建一个无限循环,在循环体中让用户选择是点名还是退出。当用户输入大写或小写的N时,使用break语句退出循环结束程序;当用户输入其它键时,使用随机模块.函数( )输出随机点名姓名,参考代码如下:
import random
n=random.randint(0,100)
for i in range(5):
temp= int(input("请输入你猜的整数:"))
if temp==n:
print('恭喜你,猜中了!')
elif temp>n:
print('猜大了')
else:
print('猜小了')
else:
print('游戏结束!')
print('你要猜的整数是:{}'.format(n))
>>> y=[1,'a','python',9.9]
>>> type(y)
<class 'list'>
三、总结
通过本次任务的学习和实践,了解了什么是模块以及导入和使用模块的方法,掌握了break和continue语句的区别,并且能够熟练地根据相关要求选择该模块合适的函数来解决实际问题。
内置模块可以极大地提升程序开发的效率;自定义模块将程序的各部分组件共用的功能提取出来放到一个模块中,其它组件通过导入的方式使用该模块,从而提高代码的重用性、易于功能扩展和维、有利于团队协作。
作业布置
编写程序实现抢红包功能
教学反思
学科网(北京)股份有限公司
$$