pythondef power(base, exponent): result = 1 for i in range(exponent): result *= base return resultprint(power(2, 3)) # 输出结果为 8
在这个例子中,我们使用了一个 for 循环来重复乘以底数 base。循环的次数由指数 exponent 决定。每次循环都将底数与结果相乘,并将结果保存在 result 变量中。最后,我们返回计算得到的结果。这种方法的好处是可以避免使用 pow() 函数,从而提高运算速度。然而,需要注意的是,当指数很大时,使用循环来计算幂可能仍然需要较长的时间。使用位运算替代 pow() 函数另一种替代 pow() 函数的方法是使用位运算。位运算在处理数字时可以更高效,因为它们直接操作数字的二进制表示。下面是一个使用位运算实现幂运算的示例代码:
pythondef power(base, exponent): result = 1 while exponent > 0: if exponent & 1: result *= base base *= base exponent >>= 1 return resultprint(power(2, 3)) # 输出结果为 8
pythonimport cmath# 使用 pow() 函数print(cmath.pow(2, 3)) # 输出结果为 (8+0j)# 使用循环计算幂def power_loop(base, exponent): result = 1 for i in range(exponent): result *= base return resultprint(power_loop(2, 3)) # 输出结果为 8# 使用位运算计算幂def power_bitwise(base, exponent): result = 1 while exponent > 0: if exponent & 1: result *= base base *= base exponent >>= 1 return resultprint(power_bitwise(2, 3)) # 输出结果为 8