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

如何编写Python程序计算TXT文件每行空格分隔数字的平均值

实现方案

核心处理逻辑

你拿到的每一行字符串可以按以下步骤处理:

  • 去除首尾的换行符、多余空白字符
  • 按空白分割得到单个数字的字符串列表
  • 将所有字符串转为数值类型
  • 求和后除以数值个数得到平均值

基于你现有代码的修改版本

如果你不想调整已写的代码结构,直接在循环内补充逻辑即可,记得最后手动关闭文件:

f = open(input("File: "))
for i in f:
    # 跳过空行
    stripped_line = i.strip()
    if not stripped_line:
        continue
    # 分割字符串并转为整数
    num_list = [int(num) for num in stripped_line.split()]
    # 计算并打印平均值,可按需调整小数保留位数
    avg = sum(num_list) / len(num_list)
    print(avg)
f.close()

更推荐的写法

用with open语句自动管理文件句柄,无需手动关闭文件,还可以加上行号计数和异常处理:

with open(input("File: "), 'r', encoding='utf-8') as f:
    # enumerate用来计数行号,start=1表示从第一行开始计数
    for line_num, line in enumerate(f, start=1):
        stripped_line = line.strip()
        if not stripped_line:
            continue
        num_str_list = stripped_line.split()
        # 异常处理:避免行内有非数字内容导致程序崩溃
        try:
            num_list = [int(num_str) for num_str in num_str_list]
        except ValueError:
            print(f"第{line_num}行存在非数字内容,跳过计算")
            continue
        avg = sum(num_list) / len(num_list)
        print(f"第{line_num}行平均值:{avg:.2f}")

注意事项

  • 如果你的TXT文件中存储的是小数,把代码中的int替换为float即可
  • split()方法默认按任意空白字符分割,不管数字之间是单个空格、多个空格还是制表符都可以正常处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.22 01:15:08