什么是递归:

有调用函数自身的行为

有一个正确的返回条件

设置递归的深度:

import sys

sys.setrecursionlimit(10000)    #可以递归一万次

用普通的方法也就是非递归版本编写一个阶乘的程序:

def jiecheng(n):
result = n
for i in range(1,n):
result *= i
return result

number = int(input("请输入一个整数:"))
result=jiecheng(10)

print ("%d 的阶乘是 : %d" %(number,result))

用递归的方法编写阶乘的程序:

把程序写出来就是:

def qiujiecheng(n):

  if n==1:

    return 1

  else:

    return n * qiujiecheng(n-1)

number = int(input="请输入一个数字:")

result = qiujiecheng(number)

print ("%d 的阶乘是 %d"%(number,result))

   

最新文章

  1. node基础11:接受参数
  2. JS组件系列——使用HTML标签的data属性初始化JS组件
  3. 图形学理论知识 BRDF 双向反射分布函数(Bidirectional Reflectance Distribution Function)
  4. Kinetic使用注意点--ellipse
  5. 2013 ACM/ICPC Asia Regional Changsha Online J Candies
  6. 制作进度条(UISlider)
  7. FFMPEG中最关键的结构体之间的关系
  8. session的存储方式和配置
  9. 推荐几款主流的Css Reset
  10. 利用java的反射,实现工厂创建对象
  11. EventBus详解
  12. libstdc++适配Xcode10与iOS12
  13. threejs学习笔记(二)
  14. SSIS 包部署错误 0xC0010014
  15. Python-类的绑定方法与非绑定方法
  16. SqlServer 左右内连接
  17. 16.2-uC/OS-III同步 (事件标志组)
  18. vue系列之Vue-cli
  19. Docker简介及Linux下安装
  20. make distclean

热门文章

  1. python matplotlib.pyplot对图像进行绘制
  2. iOS面试集锦3
  3. ios之自定义UISwitch
  4. 【Java_多线程并发编程】基础篇——线程状态扭转函数
  5. cache控制器取值从TCM/CACHE/FLASH
  6. django第9天(多表操作)
  7. Day11名称空间,作用域,闭包函数
  8. Solr5.0.0 DIH之增量索引
  9. STM32中如何对printf函数重定向
  10. nw335 debian sid x86-64 -- 4 realtek 提供的官方驱动