deffun(x):if x ==0:#这里为0,意思是递归到0就停止
r =1else:
r = x* fun(x-1)#递归调用return r
number =int(input("请输入一个正整数:"))
result = fun(number)#调用函数print("%d的阶乘是%d"%(number,result))
python递归斐波那契
deffibo(n):if n <1:print("wrong!")return-1if n==1or n==2:return1else:return fibo(n-1)+fibo(n-2)
n =int(input('请输入一个正整数:'))for i inrange(1,n+1):#这里的range是重点,如果是(1,n),它就不能取到右端的n,因此这里用n+1
r = fibo(i)print('%d'%r)
python递归汉诺塔
defhanoi(n, x, y, z):if n ==1:print(x,'-->',z)else:
hanoi(n-1, x, z, y)#将前n-1个盘子从x移动到y上print(x,'-->', z)#将最后一个盘子从x移动到z上
hanoi(n-1, y, x, z)#将y上的n-1个盘子移动到z上
n =int(input('请输入汉诺塔的层数:'))
hanoi(n,'X','Y','Z')