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

Python求1到N(含N)整数累加和:代码问题解析

计算1到N整数和的代码问题解析

需求说明

接收用户输入的整数N,计算并输出1到N(包含N)的所有整数之和。

最初的错误代码

n=int(input())
nums = range (0,n)
sum = sum(nums)
print(sum)

错误原因

Python里的range(a, b)函数生成的是左闭右开的整数序列——包含起始值a,但不包含结束值b。你写的range(0, n)生成的是0、1、2、…、n-1这些数,求和结果是0+1+2+…+(n-1),和需求里的1到n的和相比,少了n这个数(0对求和结果没有影响),所以输出结果不符合要求。

为什么加N的方法能生效

sum(range(0, n))的结果本质是1到n-1的和(加0不改变总和),给这个结果加上n之后,就正好补上了缺失的那个数,得到的就是1+2+…+n的正确总和,所以能得到符合需求的结果。

更规范的写法

其实不需要用“加N”的临时方法,直接生成包含1到n的序列即可:

n = int(input())
print(sum(range(1, n+1)))

另外,还可以用数学公式直接计算,效率更高(尤其当N很大时):

n = int(input())
print(n * (n + 1) // 2)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 11:27:08