为了账号安全,请及时绑定邮箱和手机立即绑定

为什么要n = n - 1?

def power(x, n):
   s = 1
   while n > 0:
       n = n - 1
       s = s * x
   return s

比如5的3次方

减一之后不就变成了5的2次方了吗

正在回答

7 回答

他是觉着这个代码计算错误,15的三次方,按照这个公式就不对了结果


0 回复 有任何疑惑可以回复我~
可以理解为:x本身就是一个乘数
x^n  就要n-1个x相乘
1+(n-1)=n  还是n个x相乘


0 回复 有任何疑惑可以回复我~
# 我们来定义一个计算 x 的N次方的函数:

def power(x, n):
    s = 1
    while n > 0:
        n = n - 1    #由于是计算x 的N次方的函数,例如:2^3 ,s=1,n=3-1=2,s=1*2, 由于while循环,此时n=2,所以n=2-1=1,s=(1*2)*2;此时n还是>0,继续进入循环;n=1-1=0,s=((1*2)*2)* 2;此时n=0,退出循环,返回s
        s = s * x
    return s
print power(2, 3)


0 回复 有任何疑惑可以回复我~

n = n-1就是为了控制循坏次数,例如5的3次方就是power(5,3),也就是要循环3次,第一次循环之后,n=2,第二次循环之后,n=1,第三次循环之后n = 0,不满足n>0的条件,就跳出循坏。


0 回复 有任何疑惑可以回复我~

n代表循环次数。循环一次,减1。体现为代码就是n = n-1

0 回复 有任何疑惑可以回复我~

执行一次就减1 ,和java的 i-- 相似,如n=2,就是1*x*x的意思

0 回复 有任何疑惑可以回复我~

比如5的3次方,当n=3时,循环条件为真,s=1*5,n=3-1;当n变为2,循环条件为真,s=5*5,n=2-1;当n变为1,循环条件为真,s=5*5*5,n=1-1;当n =0不满足条件,循环退出。

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

为什么要n = n - 1?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信