从键盘读入由仅由英文构成的多行文本,借助于字典统计其中每个单词出现的次数。然后按字典递增序按格式输出每个单次出现的次数。 要求: 1.所有单词不区分大小写,输出时按小写格式输出; 2.需要排除!,: ?等英文符号,即这些符号不应作为单词的构成部分; 3.需要排除0,1, 2, .. 9等数字,即这些数字不应作为单词的构成部分。 [输入形式] 行数n 第1行内容 第2行内容 … 第n行内容 [输出形式] 单词1出现次数 单词2出现次数 … 单词k出现次数 注意:单词1,2, .... k按字典递增序。
时间: 2024-03-13 20:45:16 浏览: 68
从键盘读入一段文本,统计其中的英文字母、数字、空格和除此之外的其他字符个数。[总结].pdf
好的,我理解了你的问题。这是一个常见的文本处理问题,我可以为你提供 Python 代码实现。
```python
import string
# 读取输入
n = int(input())
word_count = {}
for i in range(n):
line = input().strip().lower()
# 去掉标点符号和数字
line = line.translate(line.maketrans('', '', string.punctuation + string.digits))
# 分割单词
words = line.split()
# 统计单词出现次数
for word in words:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
# 输出结果
sorted_words = sorted(word_count.keys())
for word in sorted_words:
print(word, word_count[word])
```
以上代码首先读取输入,然后逐行处理每个输入字符串。通过 Python 的 `string` 模块去掉标点符号和数字,然后使用 `split` 函数分割单词。接着统计每个单词出现的次数,并将结果保存在 `word_count` 字典中。最后按照字典序排列单词,并输出每个单词的出现次数。注意,输出时需要将单词转换为小写形式。
阅读全文