文本统计器
简单约 15 分钟
你将构建什么
一个文本统计工具:用户输入一段文本,程序统计并输出总字符数、不含空格的字符数、单词数、行数和段落数。用字典组织统计结果。
学习目标
- 用 len() 和字符串方法统计字符
- 用 split() 分割单词和行
- 用字典组织多种统计结果
- 理解字符串的常用操作
前置要求
- 了解 Python 字符串基础方法
- 了解字典数据结构
- 已完成前三个 Python 项目或具备同等基础
步骤
- 1
读取用户输入文本
用 input() 读取一段文本。为了让用户能输入多行,提示用户用 \n 表示换行,或者直接用单行文本测试。
代码text = input("请输入一段文本:")预期结果
程序读取用户输入的文本字符串。
提示
也可以用多行输入:用 sys.stdin.read() 读取直到 EOF。
- 2
统计字符数
用 len(text) 统计总字符数(含空格),len(text.replace(' ', '')) 统计不含空格的字符数。
代码total_chars = len(text) chars_no_space = len(text.replace(' ', ''))预期结果
得到总字符数和不含空格的字符数。
提示
replace(' ', '') 把空格替换为空字符串,相当于删除所有空格。
- 3
统计单词数和行数
用 split() 分割单词(默认按空格分割),len() 得到单词数。用 splitlines() 分割行,len() 得到行数。
代码words = text.split() word_count = len(words) lines = text.splitlines() line_count = len(lines)预期结果
得到单词数和行数。
提示
split() 不传参数时按任意空白字符分割,多个连续空格只算一个分隔。
- 4
统计段落数并组织结果
段落以空行分隔:用 split('\n\n') 分割段落。把所有统计结果放入字典,格式化输出。
代码paragraphs = [p for p in text.split('\n\n') if p.strip()] paragraph_count = len(paragraphs) stats = { '总字符数': total_chars, '不含空格字符数': chars_no_space, '单词数': word_count, '行数': line_count, '段落数': paragraph_count, } print("=== 文本统计结果 ===") for key, value in stats.items(): print(f"{key}:{value}")预期结果
输出所有统计项,格式整齐。
提示
列表推导式 [p for p in ... if p.strip()] 过滤掉空段落。
自己动手试试
起始代码
text = input("请输入一段文本:")
# TODO: 统计字符数、单词数、行数、段落数并输出解决方案代码
text = input("请输入一段文本:")
total_chars = len(text)
chars_no_space = len(text.replace(' ', ''))
words = text.split()
word_count = len(words)
lines = text.splitlines()
line_count = len(lines)
paragraphs = [p for p in text.split('\n\n') if p.strip()]
paragraph_count = len(paragraphs)
stats = {
'总字符数': total_chars,
'不含空格字符数': chars_no_space,
'单词数': word_count,
'行数': line_count,
'段落数': paragraph_count,
}
print("=== 文本统计结果 ===")
for key, value in stats.items():
print(f"{key}:{value}")你学到了什么
你掌握了 Python 字符串的常用操作——len、split、replace、strip,并学会用字典组织结构化结果。字符串处理是 Python 的强项,在数据分析、文本处理等领域应用广泛。
相关资源
相关练习
- Python 函数选择题
测验函数相关知识。
相关工具
- JSON 格式化工具
统计结果可以用 JSON 格式输出。
相关参考文档
- Python 字符串方法
完整的 API 参考。
- Python 列表方法
完整的 API 参考。
相关术语
新手友好的术语表用大白话解释编程术语——变量、函数、DOM、Promise 等等。
相关错误
用大白话解释常见错误——什么意思、为什么发生、如何修复。