编程实现一个 WordCount类,统计单个英文字母在一个文本文件中出现的次数。文本文件由若干行组成,每行包含若干字母。只考虑26个英文字母,不区分大小写。例如输入以下文本文件内容: aabccd ad bc 则统计结果是: a: 3 b: 2 c: 2 d: 2 编程的具体要求是: WordCount类有以下方法: __init__(self, ifname): 构造器函数,其作用是读入以ifname为文件名的文本文件,完成统计,并将统计结果记录下来; display(self): 显示全部统计结果; oneLetter(self, letter): 显示某个字母的出现次数; 测试代码示例: wc = WordCount(r'D:\testData.txt') wc.oneLetter('a') #显示字母a的次数
时间: 2024-03-11 19:50:37 浏览: 81
可以使用以下代码实现:
```python
class WordCount:
def __init__(self, ifname):
# 初始化字典
self.counts = {}
for letter in 'abcdefghijklmnopqrstuvwxyz':
self.counts[letter] = 0
# 读入文件,统计字母出现次数
with open(ifname, 'r') as f:
lines = f.readlines()
for line in lines:
for char in line:
if char.isalpha():
char = char.lower()
self.counts[char] += 1
def display(self):
# 显示全部统计结果
for letter in 'abcdefghijklmnopqrstuvwxyz':
print("{}: {}".format(letter, self.counts[letter]))
def oneLetter(self, letter):
# 显示某个字母的出现次数
letter = letter.lower()
print("{}: {}".format(letter, self.counts[letter]))
```
使用示例:
```python
wc = WordCount(r'D:\testData.txt')
wc.oneLetter('a') # 显示字母a的次数
wc.display() # 显示全部统计结果
```
注意,需要将文件路径 `D:\testData.txt` 替换为实际文件路径。
阅读全文