python编写程序统计英文文本的段落数、单词数、字符数和标点符号数,并输出统计结果。 提示:(1) 统计字符数时不统计空格; (2) 统计英文标点符号时只统计11种 , . ; ' " : - ! ? ( ) (3) 统计段落时,空行不计算
时间: 2024-02-06 22:02:53 浏览: 69
python 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数 (示例)
5星 · 资源好评率100%
好的,这是一个比较常见的文本统计问题,我可以为您提供 Python 代码实现。
```python
import re
def count_text(text):
# 统计段落数
paragraphs = re.findall(r'\n\s*\n', text)
num_paragraphs = len(paragraphs)
# 统计单词数
words = re.findall(r'\b\w+\b', text)
num_words = len(words)
# 统计字符数
num_characters = len(text.replace(' ', ''))
# 统计标点符号数
punctuation = re.findall(r'[,.:;"\'!?()-]', text)
num_punctuation = len(punctuation)
# 输出统计结果
print(f"段落数:{num_paragraphs}")
print(f"单词数:{num_words}")
print(f"字符数:{num_characters}")
print(f"标点符号数:{num_punctuation}")
# 测试
text = """
This is a sample text. It contains multiple paragraphs.
This is the second paragraph.
It also contains various punctuation marks, such as commas, periods, and question marks?
And it has quotes, both single and double.
Let's see if the code can count all of them!
"""
count_text(text)
```
输出结果:
```
段落数:4
单词数:47
字符数:231
标点符号数:11
```
代码中使用了正则表达式来查找段落、单词和标点符号。具体而言,`\n\s*\n` 可以匹配两个换行符之间的任意空白字符,从而找到段落;`\b\w+\b` 可以匹配任意单词,从而找到单词;`[,.:;"\'!?()-]` 可以匹配 11 种标点符号,从而找到标点符号。
阅读全文