读代码专项第 4 题:range 漏第 0 项 scores = [85, 92, 78] total = 0 for i in range(1, len(scores)): total = total + scores[i] print(total) 期望总分是 255,实际输出 170。
-
代码意图:
计算 scores 列表中所有成绩的总分。 -
问题和根因:
问题在 for i in range(1, len(scores))。len(scores) 是 3,range(1, 3) 只会生成 1、2,漏掉了下标 0 的 scores[0],也就是 85,所以只算了 92 + 78,输出 170。 -
修复方案:
改成 for i in range(len(scores)),或 for i in range(0, len(scores))。

浙公网安备 33010602011771号