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

使用WHILE循环实现1到N累加并支持持续输入直至输入0的功能问题排查

解决持续输入并计算1到N求和的问题

我懂你的困扰啦——现在你的代码只能完成一次1到N的求和计算,没法反复接收用户的新输入,对吧?咱们调整一下代码结构,把整个逻辑放进一个外层循环里,就能实现你想要的持续输入功能了。

修改后的代码

while True:
    # 每次循环先获取用户输入
    num = int(input('N: '))
    
    # 输入0时直接终止程序
    if num == 0:
        print('END')
        break
    
    # 处理负数输入,直到用户输入非负整数
    while num < 0:
        num = int(input('ERROR - N: '))
    
    # 计算1到num的和(两种方式任选其一即可)
    # 方式1:用for循环手动累加
    total = 0
    for i in range(1, num + 1):
        total += i
    
    # 方式2:用Python内置sum函数,更简洁高效
    # total = sum(range(1, num + 1))
    
    # 打印求和结果
    print('Sum: ', total)

关键改动说明

  • 外层无限循环:用while True创建一个持续运行的循环,直到用户输入0时通过break跳出,这样就能实现反复请求输入的效果。
  • 输入时机调整:把请求输入的代码放到外层循环的开头,每次计算完成后,程序会自动回到这一步,等待用户的下一次输入。
  • 变量名优化:把求和变量从sum改成total,因为sum是Python的内置函数,用它当变量名可能会引发意想不到的冲突。
  • 逻辑分层清晰:先处理输入验证(负数、0的情况),再进行求和计算,代码结构更直观,也更容易维护。

运行示例

输入:3
输出:Sum: 6
输入:-2
输出:ERROR - N:
输入:4
输出:Sum: 10
输入:0
输出:END

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 10:09:06