递归是一种常见的解决问题的方法,即把问题逐渐简单化。递归的基本思想就是“自己调用自己”,一个使用递归技术的方法将会直接或间接的调用自己。
利用递归可以用简单的程序来解决一些复杂的问题,比如:斐波那契数列的计算、汉娜塔、快排等问题。
递归结构包括两个部分:
定义递归头。什么时候不调用自身方法。如果没有头,将陷入四循环,也就是递归的结束条件。
递归体。什么时候需要调用自身方法。
使用递归求 n!
def factorial(n):
if n = 1:
return 1
else:
return n*factorial(n-1)
a = factorial(10)
print(a)
递归打印所有的目录和文件
import os
def getAllFiles(path, level):
childFiles = os.listdir(path)
for file in childFiles:
filepath = os.path.join(path, file)
if os.path.isdir(filepath):
getAllFiles(filepath, level+1)
print("\t"*level+filepath)
getAllFiles("test_os", 0)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)