内容正文:
派森的商店街
Python的函数
1
理发店
“剪掉毛糙,转换发型”
银行
“精确计数,绝不出错”
书店
“现场打印,快速出书”
int( )函数
将数字或字符串
转换为整型
len( )函数
对项目的个数
进行计数
print( )函数
可以一次打印输出
多个对象
2
派森的商店街
理发店、银行、书店
Python的函数
int( )函数、len( )函数、print( )函数
服装店、饭店、饰品店、文具店
……
float( )函数、str( )函数、input( )函数
……
函数是一段具有特定功能、可重复使用的语句块。
商店是具有特定的商品、可让顾客重复光顾的场所。
3
允许自定义函数
允许自己开店
申请 <派森奶茶店> ( 钱 ):
<制作奶茶>
[返回 <奶茶>]
def <函数名> ( [参数列表] ):
<函数体>
[return <返回值>]
定义一个指定函数名的函数,需要给定参数;
调用函数后,程序接受参数,执行函数体内的内容;
最后返回相应的返回值。
申请开一家派森奶茶店,需要顾客带着钱来;
顾客到店后,店员收钱,店铺就会制作奶茶;
最后返回给顾客一杯奶茶。
可以不写,默认:什么都不给
可以不写,默认:返回None值
4
程序调用函数
顾客光临店铺
<派森奶茶店> ( 15元 ):
<函数名> ( [参数列表] )
程序调用指定函数名的函数,给程序传递参数;
程序得到相应的返回值。
顾客到达派森奶茶店,给店员传递15元;
顾客得到一杯奶茶。
返回值
参数列表
5
程序调用函数
<函数名> ( [参数列表] )
自定义函数
def <函数名> ( [参数列表] ):
<函数体>
[return <返回值>]
形式参数
实际参数
商品标价
用户付款
6
#调用MilkTea函数
MilkTea ( 15 , “珍珠奶茶”)
MilkTea ( 17 , “布丁奶茶”)
MilkTea ( 10 , “柠檬水”)
#定义MilkTea函数
def MilkTea ( price , name ):
print(“您好,欢迎光临奶茶店,您点的奶茶是:”,name )
print(“一共收您:”, price , “元”)
print(“欢迎下次光临!”)
return 1
自定义函数
7
兔子店
假设:每对小兔子过一个月会长成大兔子。每对小兔子在长大之后,每个月都会生一对小兔子
第1个月
第2个月
第3个月
第4个月
1个月
第5个月
第6个月
第n个月
……
?
1个月
8
兔子店
假设:每对小兔子过一个月会长成大兔子。每对小兔子在长大之后,每个月都会生一对小兔子
1个月
1个月
时间(单位:月) 1 2 3 4 5 6 7 8 ……
兔子数(单位:对) 1 1 2 3 5 8 13 21 ……
第1月=1,第2月=1
第3月=第1月+第2月=2
第4月=第2月+第3月=3
……
第n月=第n-1月+第n-2月(n>2)
f(1)=1,f(2)=1
f(3)=f(1)+f(2)=2
f(4)=f(2)+f(3)=3
……
f(n)=f(n-1)+f(n-2)(n>2)
9
时间(单位:月) 1 2 3 4 5 6 7 8 ……
兔子数(单位:对) 1 1 2 3 5 8 13 21 ……
b
#定义fib函数,n为形式参数
def fib ( n ):
a,b=1,1
for i in range(3,n+1):
a , b = b , a+b
return b
a=b
b=a+b
兔子店
a
i
兔子店
#定义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))
时间(单位:月) 1 2 3 4 5 6 7 8 ……
兔子数(单位:对) 1 1 2 3 5 8 13 21 ……
斐波那契数列
$$