# 一、Function函数
## 1、函数的定义
def JiuJiuKouJue():
for i in range(1,10):
for j in range (1,i+1):
print('{}*{}={}'.format(j,i,j*i),end='\t')
print('\n')
## 2、函数的调用
JiuJiuKouJue() #函数JiuJiuKouJue的调用
a=10
h=12.3
S=1/2*a*h
print('三角形的面积S=%.2f'%S)
def S(a,h): #定义带参数的函数
S=1/2*a*h #函数表达式
return S #返回函数值
aa = float(input('请输入三角形的底a:')) #给实际参数(实参)赋值
hh = float(input('请输入三角形的高h:'))
print('三角形的面积S=%.2f'%S(aa,hh)) #调用函数并打印出结果
SanJiaoXingMianJi(10,6)
## 案例分析天天向上1
365天,五天工作,进步1%,两天休息退步1%,假设一年初始值为1,请问一年后进步多少
dayup=1
for i in range(1,366):
if i%7 in [1,2,3,4,5]:
dayup=(1+0.01)*dayup
else:
dayup=(1-0.01)*dayup
print('一年之后的结果为:%.2f'%dayup)
365天,五天工作,进步1%,两天不进步也不退步(三天打鱼两天晒网)。两天休息退步1%,假设一年初始值为1,请问一年后进步多少
def DayUp():
dayup=1
for i in range(1,366):
if i%7 in [2,3,4]:
dayup=(1+0.01)*dayup
elif i%7 in [1,5]:
dayup=dayup
else:
dayup=(1-0.01)*dayup
print('%d之后的结果为:%.2f'%dayup)
3函数的嵌套(调用)
案例分析:P112_5-1:编写代码:求(1!)**2+(2!)+...+(6!)**2之和
def main():
sumFac=0
i=1
while i<=6:
sumFac=sumFac+squareFac(i)
i=i+1
print("前六个整数的阶乘之和:",sumFac)
def squareFac(n):
return factorial(n)*factorial(n)
def factorial(k):
fac=1
i=1
while i<=k:
fac=fac*i
i=i+1
return fac
main()
4函数的递归(调用)
案例分析 3:p113_5-2:通过函数的调用求n!¶
def main():
n=int(input("请输入一个整数n: "))
if n<0:
print("输入错误!")
else:
print(factorial(n))
def factorial(k):
if(k==0 |k==1):
return 1
else:
return k*factorial(k-1)
main()