1.定义
递归函数: 就是在函数里面调用函数本身(函数自己调用自己)
作用: 解决需要重复做的操作(循环可以做到的,递归一般都可以实现)
2.写一个递归函数的步骤:
(1).确定临界值(跳出循环)
(2).假设函数功能已经实现,找出f(n)与f(n-1)的关系.
# 这就是一个递归函数 def foo(): print('aaa') foo() # foo() #会造成死循环 # 例如:计算1+2+3+...n的和(用递归函数) def sum(n): if n == 1: #1.找临界值 return 1 return sum(n-1)+n # 2.找出sum(n)与sum(n-1)的关系 print(sum(100))
练习1:求n的阶乘(用递归函数)
def factorial(x): if x == 1: return 1 return factorial(x - 1) * x print(factorial(5))
练习2:计算斐波拉契数列的和(用递归函数)
def fibo_num(a): if a == 1 or a == 2: #临界值就是找出直接可以确定的结果 return 1 return fibo_num(a-1) + fibo_num(a-2) #找关系f(n) = f(n-1)+f(n-2) print(fibo_num(6)) #>>>8
练习3:打印:如果阶梯* 假如:n=4
#打印形状 **** *** ** * def nums(n): if n == 1: print('*') return 0 #找临界值(要让函数结束) for _ in range(n): print('*',end='') print() nums(n-1) print(nums(4))
本文介绍了Python中递归函数的概念,强调了其在解决重复操作问题中的应用。通过详细讲解递归函数的定义,指出确定临界值和理解f(n)与f(n-1)关系的重要性。同时,提供了三个递归函数的实战练习,包括计算阶乘、斐波拉契数列的和以及打印阶梯形状。

798

被折叠的 条评论
为什么被折叠?



