python寻找字符出现频率

你需要完成以下三个功能:

get_letter_frequencies()函数,它接受单个字符串参数text。该函数处理文本,计算字母出现的频率。大小写的差异应该被忽略——“A”和“A”都将增加字母“A”的出现频率。字母频率存储在一个整数列表中。列表中的第一项是字母“a”的出现频率,列表中的第二项是字母“b”的出现频率,以此类推。函数必须返回这个列表。
print_chart()函数,它接受单个列表形参letter_frequencies,其中包含字母字符的频率。该函数遍历这个列表,并打印出一个垂直条形图,用于显示频率大于0的所有字符的频率。对于频率大于0的每个字符,函数输出该字母,后面跟着一个“|”,然后是一系列表示字母频率的“#”字符。例如,如果字母“a”的频率为5,则将打印柱状图中的以下行:a|井号井号此函数不返回值。
process_text()函数接受单个字符串参数——文本。该函数将该字符串作为参数传递给get_letter_frequencies()函数的调用,以获取文本的字母频率列表。然后将该列表作为参数传递给print_chart()函数的调用,以打印字母频率的条形图。此函数不返回值。

img

img

def get_letter_frequencies(text):
    text=text.lower()
    lst=[0]*26
    for c in text:
        if c.isalpha():
            index=ord(c)-97
            lst[index]+=1
    return lst

def print_chart(letter_frequencies):
    for i in range(26):
        if letter_frequencies[i]>0:
            print(chr(i+97)+'|'+'#'*letter_frequencies[i])
def process_text(s):
    letter_frequencies=get_letter_frequencies(s)
    print_chart(letter_frequencies)
    
process_text('Hello world')
print('\n\n')
process_text('Fortune favors the bold')

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632