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

Python学生成绩平均值计算程序调试求助:总和计算异常

修正后的学生成绩平均值计算代码

问题分析

原代码的核心错误点:

  • 第一个输入的成绩未进入判断逻辑,直接被后续循环的输入覆盖,导致数据丢失
  • 成绩累加的时机或循环输入顺序错误,导致总和统计偏差

以下是修正后的Python代码,完全满足需求:

total = 0
count = 0

while True:
    score = int(input("请输入成绩(输入-1结束):"))
    # 输入-1时直接终止程序
    if score == -1:
        break
    # 验证成绩是否在有效范围
    if 0 <= score <= 100:
        total += score
        count += 1
    else:
        print("输入无效,请输入0-100之间的成绩或-1结束")

# 计算并输出结果
if count > 0:
    average = total / count
    print(f"有效成绩总和:{total},平均值:{average:.2f}")
else:
    print("未输入任何有效成绩")

代码说明

  • 用while True实现先输入再判断的逻辑,确保每一次输入都被处理,不会丢失第一个成绩
  • 优先判断输入是否为-1,满足条件直接退出循环
  • 仅对0-100之间的有效成绩进行累加和计数,无效成绩给出提示但不统计
  • 最后根据有效成绩数量判断是否计算平均值,避免出现除以0的错误

测试示例

输入:90、80、75、-1
输出:

请输入成绩(输入-1结束):90
请输入成绩(输入-1结束):80
请输入成绩(输入-1结束):75
请输入成绩(输入-1结束):-1
有效成绩总和:245,平均值:81.67

输入:-1
输出:

请输入成绩(输入-1结束):-1
未输入任何有效成绩

输入:105、95、-1
输出:

请输入成绩(输入-1结束):105
输入无效,请输入0-100之间的成绩或-1结束
请输入成绩(输入-1结束):95
请输入成绩(输入-1结束):-1
有效成绩总和:95,平均值:95.00

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 13:25:24