首页 › 论坛 › 置顶 › Python单词计数器,处理空格的文本单词计数
正在查看 1 个帖子:1-1 (共 1 个帖子)
-
作者帖子
-
2025-12-09 10:19 #27793Q QPY课程团队管理员
💡 关键要点:单词计数函数
这个练习包括一个核心的单词计数函数和一个扩展的函数,用于计算不带空格的字符和通过标点符号分隔的句子。这是文本准备的一个清晰示例:修剪边缘、按空格拆分、使用len进行计数。我们将涵盖:基本函数的修剪和拆分、扩展函数的替换和求和,以及展示输出的示例。
1. 基本计数器:修剪和拆分逻辑
该
word_counter函数接受文本,进行清理、分割,并返回单词计数:def word_counter(text: str) -> int: """ 计算给定文本中的单词数量。 """ # 移除前后空白字符 clean_text = text.strip() # 按空格分割文本(处理单词之间的多个空格) words = clean_text.split() # 返回单词数量 return len(words)strip()方法用于去除外部空格,split()方法将多个空格视为一个,从而避免空条目。使用 len 可以得到单词计数。简单处理,将 ” a b ” 视为 2。2. 扩展计数器:添加字符和句子
word_counter_extended添加了更多的指标:def word_counter_extended(text: str) -> tuple: """ 计算文本中的单词、字符(不包括空格)和句子数量。 返回一个元组: (单词数, 字符数, 句子数) """ clean_text = text.strip() words = clean_text.split() words_count = len(words) # 计算不包括空格的字符数 chars_count = len(clean_text.replace(" ", "")) # 通过查找 ., !, ? 来计算句子数sentences_count = sum(clean_text.count(p) for p in ".!?") return words_count, chars_count, sentences_count重用修剪/拆分单词。replace(" ", "")用于去除字符计数中的空格。计算句子的结尾标点符号总数。返回一个元组以支持多输出。3. 示例用法:使用示例进行测试
在主程序中运行:
sample_text = " Python is awesome! " print(sample_text) print("Words:", word_counter(sample_text)) print("Extended:", word_counter_extended(sample_text))示例,单词数:3,扩展:(3, 15, 1)。显示处理空格和标点符号。
🎯 总结与反思
这个单词计数器教授文本基础知识,从清理到计数。它让我想起:
- 空白技巧:去除/拆分管理杂乱。
- 多指标:轻松扩展字符/句子。
- 元组返回:整齐地打包多个值。
非常适合日志或论文。更多内容,请处理连字符或引号。
高级替代方案:使用正则表达式计算单词:len(re.findall(r’w+’, text)),或使用Counter计算频率。你的文本小贴士?评论告诉我们!
-
作者帖子
正在查看 1 个帖子:1-1 (共 1 个帖子)
- 哎呀,回复话题必需登录。