如何修改Python代码计算1到N(N=10/100/1000)的累加和?
修改Python代码计算1到N的累加和
首先说下,你原来的代码其实是计算从num1到num2的连续整数和,但因为这里num1固定是1,完全可以简化公式——1到N的累加和直接用公式 N*(N+1)//2 就够了,没必要用原来的复杂写法。
下面给两种修改方式:
1. 直接修改数值快速计算
如果你只是临时算某个N的值,直接把代码里的num2改成目标数字就行,另外注意别用sum当变量名(这是Python内置函数,容易出问题),改成sum_result这类名字更稳妥:
计算1到10的代码:
num1, num2 = 1, 10 sum_result = num2 * (num2 + 1) // 2 print(sum_result)
计算1到100的代码:
num1, num2 = 1, 100 sum_result = num2 * (num2 + 1) // 2 print(sum_result)
计算1到1000的代码:
num1, num2 = 1, 1000 sum_result = num2 * (num2 + 1) // 2 print(sum_result)
2. 写个函数批量计算不同N
如果要多次计算不同的N,写个函数更方便,一次定义后随时调用:
def get_sum_from_1_to_n(n): return n * (n + 1) // 2 # 调用函数计算不同值 print(get_sum_from_1_to_n(10)) # 输出1到10的和 print(get_sum_from_1_to_n(100)) # 输出1到100的和 print(get_sum_from_1_to_n(1000)) # 输出1到1000的和
补充一句:原来的复杂公式是通用的区间求和(比如从a到b),但你这里只需要从1开始,所以简化后更高效也更易读。
内容的提问来源于stack exchange,提问作者voidnoid
相关产品推荐
相关产品推荐

