你需要完成以下三个功能:
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()函数的调用,以打印字母频率的条形图。此函数不返回值。
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')
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!