少说话多写代码之Python学习037——创建函数03(函数的使用 )递归
程序员文章站
2022-05-08 22:51:32
...
前面学会了如何创建函数,至于函数参数列表的使用,函数内部作用域,函数重载等等,Python中的函数与其他语言的函数并无不同,所以这里不再说明。我们一般学习的第一门编程语言大多是C语言,
学习C语言我们每每学的都是递归,二分查找,冒泡排序以及各种排序等等。那么我们选一两样看看Python中如何实现。
看看递归和二分法查找,看看函数的使用。
递归,递归最大特点是函数自己调用自己,直到最终返回一个值,然后层层返回。
我们看两个例子,一个数的阶乘、一个数的幂。
我们用自己理解的方式实现阶乘,如下
def factorial(n):
if(n<=0):
return 1
result=n;
for i in range(1,n):
result = result*i
return result
#调用
print(factorial(0))
print(factorial(1))
print(factorial(3))
输出
1
1
6
改用递归实现,
#递归实现
def factorialStandard(n):
if n<=0:
return 1
else:
return n*factorial(n-1)
#调用
print(factorial(0))
print(factorial(1))
print(factorial(3))
输出
1
1
6
再来看幂次方的实现,
先用幂次方的定义来实现,
#此处只考虑n为正数
def myPower(x,n):
if(n<=0):
return 1
result=1
for i in range(n):
result =result*x
return result
#调用
print(myPower(1,0))
print(myPower(1,1))
print(myPower(2,3))
输出
1
1
8
改为递归实现幂次方
#递归实现幂
def myPowerStandard(x,n):
if n<=0:
return 1
else:
return x*myPowerStandard(x,n-1)
#调用
print(myPowerStandard(1,0))
print(myPowerStandard(2,3))
输出
1
8
工程文件下载:https://download.csdn.net/download/yysyangyangyangshan/10766620