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

为什要n-1?为什么要s = s*x

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

为什要n-1?为什么要s = s*x? 

实在想不明白,求救啊 5555555555555555

正在回答

4 回答

这个应该是求x的n次方的代码吧,首先while循环只有它的条件为真时才会运行循环里的程序,因为是n次方可以分解为n次乘法计算,n每次循环都会减一,当它循环n次时,n就为0了,此时循环里的条件就为假了,就会停止循环然后返回s的值。然而在每次n减一的循环中,s都会乘上一次x,就等于是x乘了n次x,s就变成了x的n次方了。

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

pythonMiya 提问者

虽然我还是没有完全明白,但是我赶脚你回答的非常详细认真,先认真感谢一下,我再慢慢琢磨琢磨,谢谢哒 ^_~
2018-09-18 回复 有任何疑惑可以回复我~
#2

pythonMiya 提问者

我终于想明白了,S是统计X的计数器,而不要理解而1,2,3,4,5......
2018-09-18 回复 有任何疑惑可以回复我~

循环函数while

s是变量, 最初s=1

假如power(5,3)

因为条件n>0,且每次循环n=n-1,知道条件为否

第一次循环:s=1*5,这里变量s=5

第二次循环:s=5*5,这里变量s=25

第三次循环:s=25*5,这里变量s=125

最终结果就会是:125

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

因为循环条件是 n>0 ,n 是参考条件,如果不进行 n-- 操作,那条件一直成立,就死循环了

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

n=n-1循环下去,n最终会等于0,循环结束,得到结果。s=s*x循环一次,表示一个x相乘,循环n次,表示n个x相乘。n-1到0共n个数,循环了n次,所以就有n个x相乘

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

pythonMiya 提问者

感谢啦
2018-09-18 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

为什要n-1?为什么要s = s*x

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