如何使用python计算文本文件中的重复字符数

时间:2016-11-17 16:01:19

标签: python string text count analyzer

我是python中的初学者,我正在尝试在python中创建一个小程序来计算文本文件中的重复字符

这是代码

import string 

def count_char(text,char):
    count = 0
    for c in text:
        if c == char:
            count +=1
        return count

filename = raw_input("Enter File name:")
with open(filename) as f:
    text=f.read()

print(count_char(text,"r"))

但它将输出打印为

>> 0

请告诉我我的代码有什么问题?

4 个答案:

答案 0 :(得分:2)

“返回计数”中的识别问题

def count_char(text, char):
    count = 0
    text = list(text)
    for c in text:
        if c == char:
            count += 1
    return count


filename = raw_input("Enter File name:")
with open(filename) as f:
    text = f.read()

print(count_char(text, "r"))

答案 1 :(得分:1)

将您的回报移至for循环之外。它目前只进行了1次迭代。

答案 2 :(得分:1)

如果要计算给定字符在字符串(或文件)中出现的次数,可以使用count方法:

with open(filename) as f:
    text = f.read()
    print(text.count('r'))

答案 3 :(得分:1)

您可以使用集合来获取所有字符频率的字典,并查看字符重复的次数。

from collections import Counter
with open(file) as f:
    c = Counter()
    for x in f:
        c += Counter(x.strip())

示例:数据将按如下方式存储:

Counter({'a': 3, ' ': 3, 'c': 3, 'b': 3, 'e': 3, 'd': 3, 'g': 3, 'f': 3})