|
|
发表于 2016-11-28 08:54:00
|
显示全部楼层
def power(x, y):
if y:
return x * power(x, y-1)
else:
return 1
print(power(2, 3))
-------------------------------------------------------------->调用函数时, x = 2, y = 3
判断y是否为真, 3是真 --> return 2 * power(2, 2)
------------------------------------------->调用函数时, x = 2, y = 2
判断y是否为真, 2是真 --> return 2 * power(2, 1)
--------------------------------->调用函数时, x = 2, y = 1
判断y是否为真, 1是真 --> return 2 * power(2, 0)
------->调用函数时, x = 2, y = 0
判断y是否为真, 0是假 --> return 1
所以结果就是 1 * 2 * 2 * 2 = 8
-------------------------------------------------------------------------------------------------
def gcd(x, y):
if y:
return gcd(y, x%y)
else:
return x
print(gcd(4, 6))
---------------------------------------------------------------------------调用函数时x = 4 , y = 6
判断y是否为真, 6是真 --> return gcd(6, x%6)
-----------------------------------------------------------调用函数时x = 4 , y = 2
判断y是否为真, 2是真 --> return gcd(2, 4%2)
-------------------------------------调用函数时x = 2 , y = 0
判断y是否为真, 0是假 --> return 2
所以结果 2 |
|