課程
/后端開發
/Python
/初識Python
def power(x, n=2): ? ?s = 1 ? ?while n > 0: ? ? ? ?n = n - 1 ? ? ? ?s = s * x ? ?return s
2016-08-05
源自:初識Python 7-6
正在回答
這是一個定義求平方的函數,第一行是定義函數和變量,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次方。
慕粉3754966 提問者
s用來接收當前x累乘的結果
n用來控制x累乘的次數
定義了一個求迭代乘積的函數,默認的參數n=2,也就是迭代兩次,s就是迭代的乘積結果
舉報
學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
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次方。
2016-08-05
s用來接收當前x累乘的結果
n用來控制x累乘的次數
2016-08-05
定義了一個求迭代乘積的函數,默認的參數n=2,也就是迭代兩次,s就是迭代的乘積結果