def power(x,n)例題計算邏輯?
def power(x,n):
? ? s=1
? ? while n>0:
? ? ? ? n=n-1
? ? ? ? s=s*x
? ? return s
print power(5,3)
誰能你解釋下這個程序的計算邏輯
def power(x,n):
? ? s=1
? ? while n>0:
? ? ? ? n=n-1
? ? ? ? s=s*x
? ? return s
print power(5,3)
誰能你解釋下這個程序的計算邏輯
2016-08-24
舉報
2016-08-24
2020-06-16
寫的簡單易懂
2016-08-24
除了最后的print power(5,3) 上邊的都是power函數的定義
print 時 調用了power(),傳入了 5,3
x=5,n=3
初始狀態:n=3 x=5 s=1
1) n=3 >0 成立 n=3-1=2 s=1x5=5
第一次結果:n=2 x=5? s=5
2) n=2 > 0 成立? n=2-1=1 s=5x5=25
第二次結果:n=1 x=5 s=25
3) n=1 > 0 成立 n=n-1=0 s=25x5=125
第三次結果:n=0 x=5 s=125
4) n=0 > 0 不成立 return s
值返回給了調用 power() 的地方? 也就是最后一句print的位置
最后print 125 輸出結果
2016-08-24
首先看 n,當 n > 0 時 返回? s(s = s * x) 此時 s = 1的,首次返回 x (x的一次方) 并且 n 自減 1
??????????????? 當 n <= 0 時 返回 s 為結果。
可以去看看遞歸理解,