编程实现一个 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 21:51:36 浏览: 73
下面是Python的实现代码:
```python
class WordCount:
def __init__(self, ifname):
self.counts = {}
with open(ifname) as f:
for line in f:
for char in line:
if char.isalpha():
char = char.lower()
if char in self.counts:
self.counts[char] += 1
else:
self.counts[char] = 1
def display(self):
for char, count in self.counts.items():
print(char + ':', count)
def oneLetter(self, letter):
letter = letter.lower()
if letter in self.counts:
print(letter + ':', self.counts[letter])
else:
print(letter + ':', 0)
```
其中,`__init__`方法读入文本文件,统计每个字母出现的次数,结果保存在`counts`字典中;`display`方法以字母为键,次数为值,输出全部统计结果;`oneLetter`方法以某个字母为参数,输出该字母的出现次数。