【demo】Python递归
#!/usr/bin/python
# coding=utf-8
import os
#递归求 1+2+3+...+100 之和
s=0
def add(i,step,end_num):
global s
print("s=",s, "i=",i)
s=s+i
i=i+1
if i > end _value :
print("inner s=",s)
return s
else
add(i,step,end_num)
return s
def main1():
print("Function main1 enter:")
begin_num = 1
step = 1
end_num = 100
sum=add(begin_num,step,end_num)
#循环求 1+2+3+...+100 之和
def getSum(begin_num,step,end_num):
global s
for n in range(begin_num,end_num+1,step)
s=s+n
#print "s=%d,n=%d"%(s,n)
print "s=%d"%(s)
def main2():
print("Function main3 enter:")
getSum(1,1,100)
print "s=%d"%(s)
#递归查找目录下文件,并统计文件个数
num=0
def getfile(filepath):
files = os.listdir(filepath)
global num
for fi in files:
fi_d=os.path.join(filepath,fi)
print "fi=%s,fi_d=%s"%(fi,fi_d)
if os.path.isdir(fi_d):
getfile(fi_d)
else
#fname = os.path.splitext(fi_d)[0] #带路径的 "文件名,后缀"
#fextension = os.path.splitext(fi_d)[1]
fname = os.path.splitext(fi)[0] #不带路径的 "文件名,后缀"
fextension = os.path.splitext(fi)[1]
num = num + 1
print "fname=%s,fextension=%s"%(fname,fextension)
print "num=%d"%(num)
return num
def main3():
print("Function main3 enter:")
filepath='/tmp/test'
f=getfile(filepath)
print "f=%d,global num=%d"%(f,num)
#脚本执行入口
main1()
main2()
main3()
执行.py脚本:
python -V
使用exit() 退出python命令行
python recursion_demo.py
浙公网安备 33010602011771号