Python中1到n求和可以通过循环、内置函数或数学公式实现,其中sum(range(1, n+1))
是最简洁的方法,而高斯公式n*(n+1)//2
效率最高。
-
循环累加法
使用for
或while
循环逐个累加数字,适合初学者理解流程控制。例如:total = 0 for i in range(1, n+1): total += i
-
内置函数
sum
与range
结合
直接调用sum(range(1, n+1))
,代码简洁且易读,但需注意range
的右边界为n+1
。 -
数学公式法(高斯求和)
利用公式$S = \frac{n(n+1)}{2}$,转换为代码n*(n+1)//2
,计算效率最优,尤其适合大数运算。 -
递归实现
通过函数递归调用求和,但存在栈溢出风险,仅适用于教学场景:def sum_to_n(n): return n + sum_to_n(n-1) if n > 0 else 0
总结:根据场景选择方法——简洁性优先用sum(range)
,性能优先用高斯公式,教学演示可尝试循环或递归。