有这样一个题目,计算1+2+3一直加到100,它的总和是多少。我们用新学过的递归来尝试解决这个问题。
def leijia(n): # 定义一个函数,叫做leijia,包括一个参数n
if n < 1: # 如果n小于1,也就是n=0的情况,计算的是0不加减
return 0 # 因此,此时返回0
return n + leijia(n-1) # 正常返回值为n+(n-1)的累加,用迭代leijia(n-1)表示上一次的结果
print( leijia(100) ) # 调用累加函数
有了这个程序,从1加到任何数字的和都能非常轻易的计算出来。上面的结果为:
>>> print( leijia(100) )
5050