玩命加载中...
#### 17. 定义一个递归函数
我们可以通过对函数自身反复调用来实现递归。下面的例子是求解斐波那契数。
```python
# 在这个例子中,我们除了展示了递归地调用函数本身,也展示了如何在不同的情况返回不同的结果。
def fibo(n):
if n == 1:
return 1
elif n == 2:
return 1
elif n >= 3:
return fibo(n-1) + fibo(n-2)
print fibo(8)
```
#### 18. 函数定义中套用其他函数
在上面,我们已经使用了在一个函数中调用自身。更广泛的,我们可以调用任何自己已定义过的函数。
```python
# 回顾之前我们定义的函数add_a_b,我们可以用来定义一个平方和函数square_sum。
def add_a_b(a, b):
return a + b
def square_sum(a, b):
return add_a_b(a, b) ** 2
print square_sum(2, 3)
```
#### 19. 小实验
此次小实验为本教程的小结。定义函数`third_side(a, b)`并达到以下功能。
```python
# 假设a和b分别是直角三角形的两个直角边的长度。
# 设计一个函数third_side(a, b),返回这个直角三角形的斜边长。
# 如果a或者b小于等于0,则返回0。
```