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

求解释,每一步,尤其是s是什么鬼?

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

正在回答

3 回答

这是一个定义求平方的函数,第一行是定义函数和变量,x是变量,n=2在这里是规定了求的是x的平方,第二行s=1是定义一个初始变量,s最终是用来存x的平方的值的。第三行while是一个循环,n>0是循环条件,第四行n=n-1的减一是指已经乘过一个x了,第五行s=s*x相当于一个递归,s初始为1,所以计算乘法时不影响结果,s乘一个x得到的值赋给了s,,之后循环体回到第三行,此时n为1满足判断后执行第四行,n为0,执行第五行,上一个循环得到的s的值乘一个x赋值给s,第二次循环结束,此时n=0不满足循环条件,所以循环结束,返回s的值,这个过程中s相当于2个x相乘的结果,所以这个函数的作用就是求x的平方。

这个函数定义,可以把n的值赋其他值或者不赋值,引用函数的时候给n赋值,此时这个函数的作用就是求x的n次方。

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

慕粉3754966 提问者

非常感谢!
2016-08-05 回复 有任何疑惑可以回复我~

s用来接收当前x累乘的结果

n用来控制x累乘的次数

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

定义了一个求迭代乘积的函数,默认的参数n=2,也就是迭代两次,s就是迭代的乘积结果

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

举报

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

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

进入课程

求解释,每一步,尤其是s是什么鬼?

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