请问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))
源代(源代码的缩进)
版权声明:本站所有文章皆为原创,欢迎转载或转发,请保留网站地址和作者信息。