数据结构Python实现——输出从其它的正整数

  

第一种办法就是循环顺出
第二种可以使用迭代
def printN (N):
如果N> 0:
printN (N - 1),
打印(N),

  

N=10
printN (N)
输出结果:1,2,3,4,5,6,7,8,9,10
若:
def printN (N):
如果N> 0:

  
 <代码>打印(N);
  printN (n - 1); 
  

N=10
printN (N)
输出结果:10、9、8、7、6、5、4、3、2、1

  

这里导入Python的时间模块来测试递归和循环的运行时间。

  从datetime进口datetime


开始=datetime.now() #获取当前datetime
beg_stamp=begin.timestamp() #把datetime转换为时间戳
def printN (N):
如果N> 0:
printN (N - 1),
打印(N),

  

N=1000
printN (N)

  

结束=datetime.now() #获取当前datetime
end_stamp=end.timestamp() #把datetime转换为时间戳
打印(end_stamp-beg_stamp)
运行时间为:0.17701101303100586
同理,循环的运行时间为:0.20501112937927246
可见递归的运行时间更短。

  

注意:Python默认的递归深度为1000,太大的话会报错RecursionError:相比最大递归深度超过

数据结构Python实现——输出从其它的正整数