💡 关键要点:单词计数函数
这个练习包括一个核心的单词计数函数和一个扩展的函数,用于计算不带空格的字符和通过标点符号分隔的句子。这是文本准备的一个清晰示例:修剪边缘、按空格拆分、使用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计算频率。你的文本小贴士?评论告诉我们!

