python函数介绍

#函数基础
#函数:将重复公共的代码抽象出来,多次调用,
封装代码,函数把业务逻辑打包起来,我们使用时直接调用,不必关心内部是怎样实现的,
降低项目的实现难度,实现某一种功能.好处:减少重复代码,节省代码量,模块逻辑清晰
def calculate_area®:
print(‘圆的面积’,3.14 * r * r)

calculate_area(151)
calculate_area(3)
calculate_area(10)

#语法
##函数定义:关键字def(define) 函数名(参数): 语句块
###参数:函数运行前需要告诉函数一些运行时需要的信息原料、数值,函数根据传入的参数,

参与内部的逻辑运算。

#函数调用:函数名(参数)

##函数
c = int(input(’’))
a = int(input(’’))
b = int(input(’’))
max = a
if a > b:
max = a
if a > c:
max = a
else:
max = c
elif a < b:
if b > c:
max = b
else:
max = c
print(max)
#递归 recursion
##引题:计算10的阶乘
total = 1
for i in range(1,11):
total =total * 1
print(total)

#换一种思路
#例如计算5
#5! = (1234)5 = 4! * 5
#4! = (1
2
3)*4 = 3 * 4!
#4! = 2!*3 2! = 1! * 2
#所以 5! = (((1!*2)*3)4)5
#所以 n1=(n-1)!
n n>=2
#结论:f(n) = f(n-1)
n n>=2

def factorial(n):
if n == 1:
return 1
return factorial(n-1) * n
print(factorial(10))

factorial(5)
#分析,当factorial(5)开始调用时
#表达式变化为第一次函数返回值f(4) * 5
#表达式变化为第二次(f(3)*4)) * 5
#表达式变化为第三次((f(2)*3)*4)*5
#表达式变化为第四次(((f(1)*1)*3)*4)5
#表达式变化为第五次(((1
1)*3)*4)*5

#可能出现的错误:超过最大递归深度RecursionErrer:maximum recursion depth exceeded
#递归深度:递归需要函数调用自身,调用一次递归函数实际会调用多次函数,

每调用一次称为深度加1,都会增加系统内存开支,所以python 规定了最大的深度998.

#递归思维分析问题一般步骤:1找函数调用自己的规律.2找参数偏移规律,3找跳出条件。
#递归好处:个别问题用循环难以解决,递归思维叫自然可以方便解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值