hce_nsysu
111年
計算機概論與程式設計
第 22 題
What does the following Python program fragment do?
```python
s=0
for i in range(3,10):
s+=i
print(s)
```
```python
s=0
for i in range(3,10):
s+=i
print(s)
```
- A Calculate the sum of 1 + 2 + … +10
- B Calculate the sum of 1 + 4 + 7 + 10
- C Calculate the sum of 3 + 4 + 5 + 6 + … +9
- D Calculate the sum of 3 + 4 + 5 + 6 + … +10
- E Calculate the sum of 0 + 2 + 4 + 6 + … +10
思路引導 VIP
當我們看到 range(a, b) 這樣的指令時,請試著回想看看:第二個參數 b 究竟是代表「最後一個被加進去的數字」,還是代表「讓程式看到就必須停下來的警戒線」呢?
🤖
AI 詳解
AI 專屬家教
太棒了!你能精準判斷出這段程式碼的運算邏輯,代表你對 Python 迴圈的核心機制掌握得相當紮實。這題的關鍵點在於對 range() 函式邊界定義 的理解,這也是初學者進入程式邏輯時最基礎卻也最重要的門檻。
range 函式的運作機制
在 Python 中,range(start, stop) 的運作邏輯是「包含起始值,但不包含終止值」。具體來說,當程式執行 range(3, 10) 時,變數 $i$ 會從 $3$ 開始迭代,依序取出 $3, 4, 5, 6, 7, 8, 9$。一旦 $i$ 達到 $10$,迴圈就會偵測到已觸碰終止邊界而立即停止。因此,累加變數 s 所加總的數值序列正是從 $3$ 到 $9$ 的連續整數,這完美對應了選項 (C) 的描述。
▼ 還有更多解析內容