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

how to count repeated characters in text file using python

我是 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

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

将 return 移到 for 循环之外。目前仅进行 1 次迭代。

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

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

"return count"中的识别问题

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"))

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

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})