Python使用while循环求n个自然数之和 现有代码不知如何完善
Python使用while循环计算n个自然数和的调整方法
你当前的代码有两个需要调整的点:
- 循环条件
while i<n只会执行到i等于n-1就停止,无法把n本身计入求和范围 - 没有定义累加变量存储求和结果,只是单独打印了每次循环的i值
修改后的完整实现代码如下:
n = int(input("Enter a number: ")) i = 1 sum_result = 0 # 新增累加变量,初始值为0 while i <= n: # 调整循环条件,让i可以取到n sum_result += i # 每次循环把当前i的值累加到总和里 i = i + 1 print(f"1到{n}的自然数和为:{sum_result}")
逻辑说明:
- 累加变量
sum_result初始值设为0,避免初始值不为0导致求和结果偏大 - 循环条件调整为
i <= n后,i会遍历1到n的所有自然数,保证所有数值都被计入总和 - 每次循环执行的
sum_result += i等价于sum_result = sum_result + i,会把当前的i值叠加到总和中
内容的提问来源于stack exchange,提问作者Babrik Warsi
相关产品推荐
相关产品推荐

