You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何实现不统计负数输入、仅遇0停止的计数器功能?

搞定你的计数器需求没问题!

完全可以实现你要的效果:让程序持续接收输入,只统计正数的平方和,负数直接跳过,只有输入0时才停止运行。我帮你修改了原代码,同时拆解下关键逻辑:

修改后的代码

count = 0
total = 0
while True:
    n = input()
    num = int(n)
    if num == 0:
        break  # 输入0就终止循环
    if num > 0:  # 只处理正数,负数直接跳过统计
        count += 1
        total += num ** 2
print(total)

关键逻辑说明

  • 把原来的while n != '0'改成while True,这样能更直观地实现「持续运行直到遇到终止条件」的逻辑
  • 每次输入后先转成整数num,方便快速判断正负和是否为终止值
  • 两层判断逻辑:
    1. 一旦输入的数是0,立刻用break退出循环
    2. 只有当输入的数是正数时,才更新计数器count和平方和total,负数直接跳过统计步骤
  • 循环结束后打印最终总和,完全符合你的需求

测试你的示例输入

输入序列:-1108420

  • -1被直接跳过,不参与统计
  • 正数的平方和计算:10² + 8² + 4² + 2² = 100 + 64 + 16 + 4 = 184,和你给出的预期输出完全匹配

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

火山引擎 最新活动