已采納回答 / 人間世支離疏
while循環的前提是,while 后面的條件是真(True)你給了while x == 100,x現在是1,不等于100,所以x==100是Falsewhile循環直接結束了然后執行print sum輸出是sum的初始值0
2019-04-19
已采納回答 / 人間世支離疏
兄弟,講解步驟還是比較麻煩的,每n層,就需要有2^n-1次步驟,4層就有15步所以簡單講解一下3和2層,然后自己驗證4層的移動,驗證move(4,a,b,c)的第一步驟move(3,a,c,b)下面的7個步驟就可以。2層:move (2,a,b,c)? ?#都會先判斷是否為1? ?#然后不是,就會進行接下來三步: 1:move(n-1, a, c, b),2: print a, '-->', c,3:move(n-1, b, a, c)? ?1:move(1,a,c,b)#分析此處的內部運作? ? ...
2019-04-17
已采納回答 / 人間世支離疏
這次的參考答案是比較省略的,所以忽略了這些問題。參考答案里面傳回的參數都是使用了math.sqrt(x),這會自動把整數x平方后的數變為浮點數。做下print math.sqrt(4)的實驗就可以知道。如果一般計算,為了避免python整數除法運算自動取整,可以先把傳進來的參數浮點化float()這次參考答案還忽視了,傳進的a參數是不能為0的,不然會報錯,還有當?<...圖片...>?,就是b**2-4*a*c的結果小于0時,方程無實數根<...code...>
2019-04-17
已采納回答 / 慕俠425669
print sum/4 這句前面不要有空格。有空格就算到for循環的代碼塊中了,被執行了4次。所以輸出4個結果第一次是75/4第二次(75+92)/4第三次(75+92+59)/4第四次(75+92+59+68)/4把空格去掉再試下看看
2019-04-17
已采納回答 / 慕用3391485
n是用來計數的(1-20),x = x * 2,說明第一次x = 1,第二次 x = 2, 第三次 x = 4 ……,就是題目要求的加數,sum是用來求和的,每加一次,n + 1,最后輸出 sum
2019-04-12
最贊回答 / 慕沐2153336
move(3,'A','B','C')??move(n,a,b,c) #第一次調用 傳值'A','B','C' 此時n=3,a='A',b='B',c='C'這幾個值在本次調用中都不變? ? #if(n == 1) n=3不走? ? move(n-1,a,c,b)? #調用主函數,傳值n=2,a='A',c='C',b='B',將值傳入,注意傳入的是值,將2,'A','C','B'按位置傳下去,也就是move(2,'A','C','B')?? ? ? ? move(n,a,b,c) #此處進入第一層循環 ...
2019-04-11