首页 > 解决方案 > 这个怎么返回 8?我期待6

问题描述

def power(num, x=1):
    result = 1
    for i in range(x): 
        result = result * num
    return result
print(power(num=2, x=3))

这是一个 Python 函数,其中有一个for循环,它应该打印出某些东西的力量,但我不确定这段代码是如何工作的,因为结果是result * num.

有人可以解释一下这是如何返回 8 作为答案的,因为如果我乘以numresult我会得到 6?

标签: pythonfunctionfor-loopprintingreturn

解决方案


欢迎来到 SO!该power函数围绕for循环旋转。调用它会power(num=2, x=3)导致重复 for 循环三次(从 x 开始)。

第一次:result = 1 * 2 ==> 2

第二次:result = 2 * 2 ==> 4

第三次:result = 4 * 2 ==> 8

相反,如果您期望 6,请尝试将 for 循环中的语句更改为result = result + num. 看?


推荐阅读