1、2#定义fib函数,n为形参def fib(n):a,b=1,1 for i in range(3,n+1):a,b=b,a+b return b#输入月数n=int(input(请输入第n个月:)#调用fib函数,i值为实参for i in range(1,n+1):print(fib(i),end=)回顾斐波那契数列3def 函数1():def 函数2():def 函数3():def 函数1():def 函数2():def 函数3():1.py2.py3.pymy_function.py新知模块4模块模块是一个保存了Python代码的文件(.py)。模块模块能定义函数,类和变量,也能包含可
2、执行的代码。我们编写的程序也是保存为.py文件的,它和模块文件有区别吗?新知模块5内置模块内置模块自定义模块自定义模块第三方模块第三方模块 在安装Python时一起被安装到系统中。如:math、random、time等。用户根据需要,自己编写。需要单独安装才可以使用。如:numpy、matplotlib等。模块分类log()pow()sin()cos()tan()floor()ceil()import import as as 方式一:方式一:import math math.sqrt(2)1.4142135623730951 import math as m m.sqrt(2)1.41421
3、35623730951fromfrom import import 方式二:方式二:from math import sqrt sqrt(2)1.4142135623730951 from math import*sqrt(2)1.4142135623730951sqrt()模块导入(导引P27)练习1:如果要导入math模块,Python语句应是 ;如果只用到math模块中的sqrt()函数,导入该函数的语句 是 。课中练习import mathfrom math import sqrt名称名称python表示表示含义含义圆周率math.pi的近似值,15位小数math.pi3.141592
4、653589793自然常数emath.ee的近似值,15位小数math.e2.7182818284590458math模块中的常量和常用函数(先导入 import math)名称名称python表示表示含义含义幂函数xymath.pow(x,y)计算x的y次幂math.pow(3,2)9.0 平方根math.sqrt(x)计算x的平方根math.sqrt(9)3.0最大公约数math.gcd(x,y)返回x和y的最大公约数math.gcd(45,63)99xmath模块中的常量和常用函数(先导入 import math)(导引P27)练习2:import math math.sqrt(49)#
5、结果是 ;math.pow(3,2)#结果是 ;math.sqrt(36,63)#结果是 。课中练习7.09.09名称名称python表示表示含义含义当前时间time.localtime()返回当前时间time.localtime()time.struct_time(tm_year=2021,tm_mon=11,tm_mday=16,tm_hour=13,tm_min=45,tm_sec=26,tm_wday=1,tm_yday=320,tm_isdst=0)计算时间time.time()返回一共经历了多少时间(秒)time.time()1637041712.62030311time模块(先导
6、入 import time)(导引P28)练习4:time.localtime()time.struct_time(tm_year=2021,tm_mon=11,tm_mday=16,tm_hour=13,tm_min=45,tm_sec=26,tm_wday=1,tm_yday=320,tm_isdst=0)当时的日期是 ;这一天是星期几:;这一天是这一年中的第几天:。课中练习2021年11月16日星期二32013名称名称数学表示数学表示random.random()随机生成一个0至1之间的实数 0,1)random.random()0.5309526413129402random.unif
7、orm(a,b)随机生成一个a至b之间的浮点数 a,b random.uniform(10,20)14.025035689835185random.randint(a,b)随机生成一个a至b之间的整数 a,b random.randint(10,20)11random模块(先导入 import random)14名称名称数学表示数学表示random.choice(s)随机选取序列s中的一项s=“python没那么简单”random.choice(s)“P”random.sample(s,k)从指定序列s中随机获取指定长度k的片断list=1,2,3,4,5,6,7,8,9,10random.s
8、ample(list,4)9,5,4,6random.shuffle(s)打乱序列s中的数据list=1,2,3,4,5,6,7,8,9,10random.shuffle(list)list1,4,7,6,8,2,5,10,9,3random模块(导引P27)练习3:假设已经导入了random模块,请根据题意写出Python表达式。1.如果要产生一个0,1)的随机小数,Python表达式 。2.如果要产生一个10,99的随机整数,Python表达式 。3.如果有一个列表L=2,5,7,8,10,13:(1)将列表中的数据打乱,Python表达式 ;(2)随机选取列表中的任意一项,Python表
9、达式 ;(3)随机选取列表中的任意一项,Python表达式 ;(4)将列表中的数据从大到小排序,Python表达式 。课中练习random.random()random.randint(10,99)random.shuffle(L)random.choice(L)random.sample(L,3)L.sort(reverse=True)(导引P27)练习5:random模块随机产生20个两位数的整数,并从小到大输出。课后拓展#导入模块a=#创建空列表存放随机数for i in range(1,21):#产生随机两位数的整数,赋值给t a.append(t)print(“原数据是:”,a)print(“排序后数据是:”,sort(a)import randomt=random.randint(10,99)(导引P27)练习6:random模块随机产生20个不同的两位数的整数,并从小到大输出。课后拓展import random a=count=0while True:t=random.randint(10,99)if :#如果t不在列表a中,则把t添加进列表a a.append(t)count=count+1 if count=20:#如果满20个数,则退出循环print(“原数据是:”,a)print(“排序后数据是:”,sort(a)t not in abreak