python中递归计算
https://www.cnblogs.com/panlq/p/9307203.html
https://www.cnblogs.com/yoyoketang/p/10114598.html
题目:用python实现1-100求和计算
用range实现1-100循环相加。
函数方法:
def sum(): s = 0 for i in range(101): s = s+i return s print(sum())
新学了reduce函数,尝试实现后发现更简单。
reduce函数:
from functools import reduce #需引入reduce函数 re = reduce((lambda x,y: x+y),list(range(101))) print(re) #可直接输出
题目:计算N!
如果n=3,即为3*2*1
from functools import reduce a = 3 b = reduce(lambda x,y:x*y,range(1,a+1)) print(b)
题目:计算斐波那契数列
1、1、2、3、5、8、13.....规律为从3开始的每一项都等于其前两项的和,这是斐波那契数列。
求100以内的斐波那契数列
a,b = 0,1 while b < 100: print(b, end=",") a, b = b, a+b
求20个斐波那契数列
def fib_loop(n): a, b = 0, 1 for i in range(n + 1): a, b = b, a + b return a for i in range(20): print(fib_loop(i), end=',')
题目:计算幂的递归
比如3*3*3*3,4*4*4*4
def mi(x,n): if n == 0: return 1 else: return x*mi(x,n-1) print(mi(3, 4)) print(mi(4, 4))