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

Python实现文本文件温度均值计算的代码调试求助

温度均值计算代码修正

原代码的可预见报错与缺陷

  • 类型转换错误:温度值为带一位小数的浮点数(如28.0),原代码使用int()做转换会直接触发值错误,无法识别小数格式
  • 变量名拼写错误:计算均值时赋值的变量为mn_tem,返回语句中误写为mmn_tem,会触发未定义变量的运行时报错
  • 取值逻辑脆弱:依赖固定位置切片element[6:]提取温度,一旦行内空格长度、日期格式变化就会取错值,稳定性差
  • 调试代码残留:函数内多余的print(result)会在运行时输出不必要的中间值,干扰最终结果输出

修正后的可运行代码

def get_mean_temperature(filename):
    with open(filename) as f:
        all_lines = f.read().splitlines()
    # 跳过第一行表头,只处理数据行
    data_lines = all_lines[1:]
    total = 0
    record_count = 0
    for line in data_lines:
        # 按空白拆分每行,忽略日期字段,直接取温度值
        _, temp_text = line.split()
        temp = float(temp_text)
        total += temp
        record_count += 1
    return total / record_count

if __name__ == "__main__":
    filename = "temp_log.txt" 
    # 写入测试温度记录
    with open(filename, "w") as f: 
        f.write("DATES T.\n07-01 28.0\n08-01 33.5\n09-01 27.0\n")

    mean_temperature = get_mean_temperature(filename)
    print(f"{mean_temperature:.1f}")

运行验证

测试文件包含3条有效温度记录:28.0、33.5、27.0,总和为88.5,计算得到的均值为29.5,代码执行后将直接输出该结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.22 18:45:02