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

Python计算算术均值时出现Zero Division Error问题求助

解决Python算术均值程序的ZeroDivisionError问题

问题根源

你的代码里第一个条件判断if c>0 or c<0: continue完全搞反了逻辑:只要输入的是非0数值,就直接执行continue跳过循环里剩下的所有代码,导致累加总和s和计数k的代码根本没机会运行,k始终是初始值0,最后执行s/k自然触发零除错误。

另外循环的终止逻辑也冗余,同时用了break和a=False,完全没必要。

修正后的代码

k = 0  # 数值数量
s = 0  # 数值总和
print("输入多个数值,输入0结束")

while True:
    try:
        c = int(input())
    except ValueError:
        print("请输入有效的整数")
        continue
    
    if c == 0:
        break  # 输入0,终止循环
    # 非0数值才累加
    s += c
    k += 1

# 先判断是否有有效输入,再计算均值
if k > 0:
    print(f"算术均值为: {s/k}")
else:
    print("没有输入有效数值,无法计算均值")

关键修改点

  • 移除了错误的continue语句,让非0数值能正常进入累加流程
  • 用while True简化循环控制,输入0时直接break终止
  • 添加了try-except捕获非整数输入的异常,提升程序健壮性
  • 增加了k>0的判断,提前避免零除错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 16:23:11