# 文本处理程序实现:统计英文单词


背景介绍

本项目旨在实现一个小型文本处理程序,能够接收用户输入的英文句子,输出包含单词数、出现次数和最高频率的统计结果。该程序需独立运行,不依赖外部服务,且符合学习价值。通过读取输入文本,统计单词信息并输出结果,可帮助学习者掌握基本的文本处理和数据结构应用。

思路分析

  1. 输入处理:使用Python的input()函数读取用户输入,注意输入的边界条件处理,例如输入可能包含多行或空行。
  2. 单词分割:将输入文本拆分为连续的单词,使用Python的split()方法默认按任意空格分割。若输入中存在多个空格或换行,split函数会自动处理,确保单词正确统计。
  3. 统计方法:使用字典(collections.defaultdict)统计每个单词的出现次数,方便后续处理。
  4. 输出结果:将统计结果以指定格式输出,包括单词数、出现次数和最高频率。

代码实现

from collections import defaultdict

def text_analysis(text):
    # 分割输入文本为单词列表
    words = text.split()
    # 统计每个单词的出现次数
    word_counts = defaultdict(int)
    for word in words:
        word_counts[word] += 1

    # 提取统计结果
    result = {
        "words": len(words),
        "count": word_counts
    }

    return result

def main():
    # 读取输入
    text = input("请输入英文句子:")
    result = text_analysis(text)

    # 输出结果
    print(f"单词数:{result['words']}")
    print(f"出现次数:{' '.join(result['count'].keys())} {'count': {result['count'].values()[0]}}")

if __name__ == "__main__":
    main()

总结

本项目实现了对输入英文句子的单词统计功能,通过读取文本、拆分单词并统计出现次数,能够帮助学习者掌握文本处理的基础知识。程序设计遵循良好的代码结构,使用了collections.defaultdict来简化单词统计的实现,同时注意了输入处理边界条件。该程序能够在1-3天内完成,具备良好的可读性和可运行性。