1函数的定义与调用:
Python 中使用def语句创建函数,其一般的格式如下所示:
def name():
print("Hello")
定义完函数后,可以通过函数名调用执行
name()
案例:
365天,每周工作五天,每天进步1%,休息两天,每天退步1%,假设一年初始值为1,请问一年后进步多少?
def DayUp():
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)
2函数的嵌套:
案例(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()
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()