已采納回答 / 十Way
第一段代碼的結果是不管第二個if條件是否滿足,都會一直執行sum=sum+x,直到x>100,這就是求的0~100的和而不是奇數的和,你可以試一下把第二個if刪掉,結果也還是5050的,而且x的初始值應該是0
2018-07-28
已采納回答 / 菜菜菜牙
因為程序是按代碼的順序來的 ?如果你放后面的你話 他會先執行前面的代碼 就是說當上次循環執行,if n > 20: ? 時因為n=20 ,所以條件成立程序還會在循環執行一次sum += x ? ?? ? x *= 2? ? n += 1 ? ? #到這n已經等于21了,所以說這個程序實際是執行了21次,而不是20次。?if n > 20: ? ? # 如果你想放在后面 吧這個條件改成 n=20就行啦
2018-07-28
最贊回答 / 阿德羅斯
<...圖片...>我理解你說的是這個樣子,在實驗里也是可以通過的,至于在平常,比如你寫了兩個函數,第二個需要用第一個函數的返回值,但是如果你第一個結尾寫的print,那么在第二個函數中調用第一個函數時就沒有辦法獲得你想要的返回值(第一個函數的返回值將會是None),總的來說對于有返回值的函數如果你使用print,他的結果對于其他的函數沒有用,你也無法進行對這個返回值操作
2018-07-28
最贊回答 / qq_滄海嘯_0
意思就是 機器的處理順序是從左往右的,第一個函數 fn1(a,b=1,c=2) 中有默認參數的項是 b = 1,c = 2 只能放在非默認參數a的后面,不能放在它前面。注意:像b=1, c= 2 這種有賦值默認初始值的項叫做 默認參數,那種沒賦值的 叫非默認參數,非默認參數 如果用戶調用函數的時候 不傳值進來的話就會有問題,有個默認參數的話 用戶不傳值進來也沒事,因為有默認值。
2018-07-28
最贊回答 / 精慕門1012678
按序循環:step1: x=1,y=1,if為false,繼續循環(看代碼塊,優先循環y)step2:x=1,y=2,if為true,打印10*x+y值為12(注意x,y均為整數型,直接+就求和了,組成兩位數就需要用公式10*x + y)step3:后續內推,當y=9時,循環會在往上,從x=2開始循環
2018-07-28
最贊回答 / 慕萊塢0654937
s=0x1=1d=3for x in range(100):#range生成一個從0到99的列表,在這次循環中充當一個計數器? ? s += x1? ? x1 += dprint(s)
2018-07-27