# 小型文本文件处理程序实现


背景介绍

本项目旨在实现一个文本文件处理程序,用于接收包含数字和字符串的文本内容,处理并输出结果。该程序需要处理两个关键功能:
1. 数字四舍五入:将输入的数字(可能包含小数点)四舍五入为整数,保留一位小数;
2. 字符串长度统计:计算输入字符串的长度,输出结果包括该长度。

思路分析

  1. 输入处理:程序需读取输入文件的内容,可能使用open()函数读取所有内容。
  2. 数据分割:对每行数据进行处理,将数字和字符串分开处理。
  3. 四舍五入操作:使用浮点数四舍五入函数(如round()),并保留一位小数。
  4. 字符串长度统计:通过遍历字符串,计算每个字符串的长度,并输出统计结果。

代码实现

import sys

def process_text(input_file_path):
    output_lines = []
    try:
        with open(input_file_path, 'r', encoding='utf-8') as file:
            for line in file:
                parts = line.strip().split()
                if len(parts) < 2:
                    continue  # 处理空行或无效数据
                number_str = parts[0]
                string_str = parts[1]

                # 数字四舍五入处理
                if number_str:
                    number = float(number_str)
                    rounded = round(number, 1)
                    output_lines.append(f"{number_str} → {rounded} (四舍五入)")

                # 字符串长度统计
                if string_str:
                    output_lines.append(f"{string_str} → {len(string_str)} (无)")
    except FileNotFoundError:
        print("文件未找到,请检查路径是否正确。")
    except Exception as e:
        print(f"处理过程中出现异常: {e}")
    finally:
        if output_lines:
            for line in output_lines:
                print(line)

独立运行说明

  1. 运行方式:直接在本地环境运行,无需依赖外部服务。
  2. 示例输入输出
    plaintext
    输入:
    "12.34 56789 999.99"
    输出:
    "12.34 → 12.34 (四舍五入) 56789 → 56789 (无) 999.99 → 999.99 (四舍五入)"

学习价值

  1. 数值处理算法:通过浮点数四舍五入,学习了数值处理的核心算法。
  2. 文件读写操作:实现了文件的读取与内容处理,了解了文件处理的核心机制。
  3. 数据结构与逻辑:掌握了字符串与数字的处理逻辑,提升了数据结构与算法处理能力。

总结

本项目通过处理文本文件,实现了数字四舍五入和字符串长度统计的功能。程序展示了数值处理的基本操作,同时强调了文件读写和数据处理的重要性。通过该项目,学习者不仅掌握了核心编程技能,还提升了数据分析和问题解决能力。