关于小甲鱼第17讲第一题的一个小问题
def power(x, y):result = 1
for i in range(y):
result *= x #它这里循环了3次分别是2,2,2
return result #它这里不应该返回2 吗
print(power(2, 3) 并不是,1 * 2 * 2 * 2 难道等于 2 ? result *= x 是 result = result * x 的简写
每次乘x之后result的值会改变的
第一次循环后,result=1*2=2
第二次循环后,result=2*2=4
第三次循环后,result=4*2=8
所以最后返回的是8 result 在变:
本轮result * x = 下轮result
1 x 2 = 2
2 x 2 = 4
4 x 2 = 8 zltzlt 发表于 2020-4-20 17:11
并不是,1 * 2 * 2 * 2 难道等于 2 ?
他循环了三次,不应该是每次循环都是2 吗,他们3次循环为什么会加在一起 是 result *= x 不是 result = x 啊 sunrise085 发表于 2020-4-20 17:12
result *= x 是 result = result * x 的简写
每次乘x之后result的值会改变的
第一次循环后,result=1*2=2 ...
懂了懂了我擦
zltzlt 发表于 2020-4-20 17:14
是 result *= x 不是 result = x 啊
懂了谢谢大佬
页:
[1]