梧棠 发表于 2020-3-27 00:29:05

关于函数问题

def power(x, y):
    result = 1
   
    for i in range(y):
      result *= x

    return result

print(power(2, 3))
为什么先要result=1呢

910201513 发表于 2020-3-27 00:32:06

result *= x,这是一个迭代
累乘,第一个数需要乘以1才不会改变数值

sunrise085 发表于 2020-3-27 00:50:02

若没有给result赋初值,则不能执行 result *=x,因为这一句的意思是result=result*x
result赋初值为1,是因为1是任何数的0次幂

zltzlt 发表于 2020-3-27 07:59:06

先给 result 赋一个初始值 1(不能是 0,因为 0 乘任何数都等于 0),不然后面用到 result 会报错

婴儿乐 发表于 2020-3-27 14:58:44

给result一个初始值
页: [1]
查看完整版本: 关于函数问题