python递归函数的基例_Python的尾递归【python函数递归教程】

请问python中类里面的方法可以递归吗?如果可以递归的话怎么用?

1-i方Python 3.6.1 (default, Mar 22 2017, 06:17:05)

[GCC 6.3.0 20170321] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> class A:

...     def func(self, i):

...             return i * i

...     def digui(self, i):

...             if i == 1:

...                     return 1

...             return self.func(i)   self.digui(i-1)

...

>>> A().digui(3)

14

>>> A().digui(2)

5

>>> A().digui(1)

1

Python 递归函数基例

所谓基例就是要递归就能求解的,一般来说题的最小下的解。

例如:斐波那列递归,f(n) = f(n-1) f(n-2),基例是1和2,f(1)和f(2)结果都是1

再比如:汉诺塔递归,基例就是1个盘子的情况,只需移动一次,无需递归

递归必须有基例,否则就是无法退出的递归,不能求解。

Python的尾递归

可以, 例子中fact 只是为了提供product 的初始值

python函数递归的实现

只得所有即可,x1x轴起点,x2为x轴终点,gao为纵轴长,i为切分次数.

x1=0

x2=10

gao=8

f(0,gao,x1,x2)

f(i=0,gao,x1,x2){

if(i==3){

return

}

t=(double)(x1 x2)

t=t/2

print (t,gao/2);

f(i 1,gao/2,x1,t);

f(i 1,gao/2,t,x2);

}

python递归函数

def Sum(m): #返回两个次数,所值 if m==1:return 1,m return 1 Sum(m-1)[0],m Sum(m-1)[1]cishu=Sum(10)[0] print cishu >>> def Sum(m,n=1): ... if m==1:return n,m ... return n,m Sum(m-1,n 1)[1] >>> print Sum(10)[0] 10 >>> print Sum(5)[0] 5

利用Python递归实现5!,即1*2*3*4*5

按照题目要求编写的Python的阶归程序如下

def jiecheng(n):

if n==1:

return 1

else:

return n*jiecheng(n-1)

print(jiecheng(5))

源代(源代码的缩进)

版权声明:本站所有文章皆为原创,欢迎转载或转发,请保留网站地址和作者信息。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值