You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何让range包含最后一个元素?附求和示例问题

问题分析与解决

核心错误点

  • range函数特性误解:range(start, end)是左闭右开区间,只会生成从start到end-1的整数序列。你的代码里x[-1]是6,所以range(3,6)只会取3、4、5,总和自然是12,漏掉了6。
  • 遍历思路错误:你试图用range来遍历列表元素,但range生成的是连续整数,和列表元素没有绑定关系——如果列表不是连续整数(比如x=[3,5,7]),这种写法会完全偏离预期。

解决方案

1. 直接遍历列表元素(最推荐)

不用range,直接循环列表中的每个元素,逻辑清晰且通用:

x = [3,4,5,6]
total = 0
for num in x:
    total += num
print(total)  # 输出18

2. 调整range的结束值(仅适用于连续整数列表)

如果非要用range,需要把结束值设为x[-1]+1,但注意这种写法只在列表是连续递增整数时有效:

x = [3,4,5,6]
total = 0
for i in range(x[0], x[-1]+1):
    total += i
print(total)  # 输出18

3. 用内置sum函数(最简洁)

Python内置了sum()函数可以直接对列表求和,一行代码搞定:

x = [3,4,5,6]
print(sum(x))  # 输出18

内容的提问来源于stack exchange,提问作者camaya3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 20:15:38