您的位置:首页 > 编程语言 > Python开发

如何使用python进行递归计算

2017-10-23 13:48 615 查看

举一个例子:

计算1-10000中”1”的出现次数

import numpy as np              #  使用前请先安装numpy模块
import sys
sys.setrecursionlimit(100000)   #  python默认最大递归次数为1000,这里设置为100000
def calc(number):
if number>=10000:           #  为计算到10000时停止
return 1
else:
li = list(str(number))  #  将每个位数int转换为str格式保存为list
_li = map(int,li)       #  将str转换为int
arr = np.array(_li)     #  将普通的list转换为nArray,用于arr[arr>1]=0
arr[arr>1]=0            #  将所有>1的的元素置为0,方便求和计算
return sum(arr)+calc(number+1)  #  求和并进行下一个数递归

print calc(int(1))


运行结果:4001
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 递归 numpy