利用range函数控制for循环的执行次数

一、案例介绍:

以实际应用场景“创建求幂函数”为例:

一、
先用自然语言对幂(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

二、对代码的运行逻辑进行分析:

  1. 先设形参为x、n,x代表底数,n代表指数,定义函数power(x,n)最终生成的结果就是幂。
  2. 将result变量的初始值设为1,以供n=0时使用,因为range(0)是不会进入循环的,因此函数会直接将result=1作为返回值。
  3. (第二条是为了实现任何数的0次幂均为1的效果)
  4. 再用for循环将内部代码执行n次,因为range函数会从0开始遍历 n 次,也就是将for循环内的代码执行n次。
  5. (至于range函数获取的数值是从0开始到n-1结束这一点,完全不用考虑,因为range函数获取的数值是多少是毫无用处的,在这里它的用处仅仅是控制循环执行次数而已。)
  6. 所以在执行power(2,3)时,result*=x这行代码只会执行3次。
  7. 其实现过程即为result=1*2=2,然后被新的result=2*2=4覆盖,最后被result=4*2=8覆盖,然后返回2的3次方的幂值8.
    原文作者:隐厄鲁
    原文地址: https://blog.csdn.net/Yinelu/article/details/115007509
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞