一、案例介绍:
以实际应用场景“创建求幂函数”为例:
一、
先用自然语言对幂(power)函数进行定义:
1、 对于任何数字x, power(x, 0)的值都为1。
2、当n>0时, power(x, n)即为power(x, n-1)与x的乘积。
3、设幂函数表达式为power(x, n),代表 x 的 n 次幂。
4、设计目标、即需要该函数生成的最终值,就是将数字x自乘n – 1次的结果,也就是将n个x相乘的结果。
5、综上,power(2, 3)就是是2自乘3-1次的结果,即2 × 2 × 2 = 8。
二、
再将自然语言用Python语言转换为能够在计算机上运行的模式:
def power(x,n):
result=1
for i in range(n):
result*=x # 效果等同于result=result*x
return result
print(power(2,3)) # 生成的结果为8
二、对代码的运行逻辑进行分析:
- 先设形参为x、n,x代表底数,n代表指数,定义函数power(x,n)最终生成的结果就是幂。
- 将result变量的初始值设为1,以供n=0时使用,因为range(0)是不会进入循环的,因此函数会直接将result=1作为返回值。
- (第二条是为了实现任何数的0次幂均为1的效果)
- 再用for循环将内部代码执行n次,因为range函数会从0开始遍历 n 次,也就是将for循环内的代码执行n次。
- (至于range函数获取的数值是从0开始到n-1结束这一点,完全不用考虑,因为range函数获取的数值是多少是毫无用处的,在这里它的用处仅仅是控制循环执行次数而已。)
- 所以在执行power(2,3)时,result*=x这行代码只会执行3次。
- 其实现过程即为result=1*2=2,然后被新的result=2*2=4覆盖,最后被result=4*2=8覆盖,然后返回2的3次方的幂值8.