Welcome 歡迎光臨! 愛上網路-原本退步是向前 !

114台南市國中

42.(C)執行以下Python程式的輸出結果為何?(113中科實中)(A)52   (B)91   (C)130  (D)169

loop 共有0-12共計13次 13*4 =52

(0+12)*13/2=6*13=78

78+52=130

 

loop 內的X 值不會影響到  for 迴路 變數次數 ,While 則會

這是因為 在python for loop中,我們一開始給定多少次數, i 就一定會把它全部跑完,並不會因為你在for loop內調整 變數 X 就改變
所以中途改變 i 是不會影響Loop 次數

但在某些程式語言中 (例如 C/C++ VB Java) 是dynamic for loop
迴圈的變數是會被改變的

for 時他是變動

for x in range(0, 2):

    print(id(x) ,end=" ")

輸出

135569595445928 135569595445960

 

Tips 每次都會產生新的位置

所以  x 每次都由  range 取出一個值出來,所以每次位置都不一樣

這是因為 python 的變數是使用 Interning 算是變數share reference的延伸應用,也是Python自動built-in的機制,python認為-5~256屬於常用數字,所以將他的記憶體空間固定起來,要用時指向同一個就行,就不需要再重複開啟記憶體空間>指派>刪除空間的動作,節省時間

所以看起來變數位址是連續的,

x=x+4等號左方是New  X 而 等號右方是 Old  X

故和C結果是不同的 而且FOR 這個 LOOP 只是單純跑 12次

 

[ 資訊科技 ] 瀏覽次數 : 31 更新日期 : 2026/02/25