求解释,每一步,尤其是s是什么鬼?
def power(x, n=2):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
def power(x, n=2):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
2016-08-05
这是一个定义求平方的函数,第一行是定义函数和变量,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次方。
举报