我是 python 新手,無法理解下面的代碼片段。我不明白為什么 sum 被初始化為 0,而不是 1。任何人都可以解釋這個初始化嗎?n = 4sum = 0 # initialize sumi = 1 # initialize counterwhile i <= n: sum = sum + i i = i+1 # update counterprint("The sum is", sum)
2 回答

倚天杖
TA貢獻1828條經驗 獲得超3個贊
這實際上更像是計算機編程的基礎知識而不是 Python 問題。我將嘗試在這里簡要解釋一下。
看起來您的目標是找到整數 1 到 n 的總和。如果用 1 初始化sum,那么得到的結果將始終比整數 1 到 n 的實際和多 1。您可以通過使用小值(例如n最多 5)進行運行并將獲得的輸出與實際總和進行比較來驗證這一點。為了方便起見,我在這里放一張桌子:
n | sum(1, n)
-------------
1 | 1
2 | 3
3 | 6
4 | 10
5 | 15
現在將其與使用 1 初始化時的輸出進行比較。sum出于好奇,您也可以嘗試使用其他值進行初始化。

侃侃爾雅
TA貢獻1801條經驗 獲得超16個贊
Sum 初始化為零,但由于 n 和 i 小于或等于,因此您總是運行至少一個循環,取 i = 1,則總和仍為 1,因為循環檢查 1 是否小于或等于 1 (i <= n)。因為它是然后它將 i 添加到總和(即 1)中,使總和為 1。然后它將 i 更新為 2 并轉到 while 循環的頂部。由于 2 <= 1 或 i <= n 在這里為 false,因此它會中斷并打印 1 作為總和
- 2 回答
- 0 關注
- 247 瀏覽
添加回答
舉報
0/150
提交
取消