- 统计英文儿歌《twinkle twinkle little star》词频。
要求:(1)去除单词大小写的影响
(2)不统计标点符号的个数
(3)统计结果需按照词频降序排列,并在控制台输出词频前十的单词及对应词频。
英文歌词如下,直接使用作为原始数据:
Twinkle, twinkle, littlestar,
How I wonder what you are!
Up above the world so high,
Like a diamond in the sky.
Twinkle, twinkle, little star,
How I wonder what you are!
When the blazing sun is gone,
When he nothing shines upon,
Then you show your little light,
Twinkle, twinkle, all the night.
Twinkle, twinkle, little star,
How I wonder what you are!
Then the travler in the dark
Thanks you for your tiny spark;
How could he see where to go,
If you did not twinkle so?
Twinkle, twinkle, little star,
How I wonder what you are!
In the dark blue sky you keep, and
Through my curtains often peep,
For you never shut your eyes,
Till the morning sun does rise.
Twinkle, twinkle, little star,
How I wonder what you are!
As your bright and tiny spark
Lights the travler in the dark,
Though I know not what you are,
Twinkle on, please, little star.
Twinkle, twinkle, little star,
How I wonder what you are
运行截图:
代码:
song = """
Twinkle, twinkle, littlestar,
How I wonder what you are!
Up above the world so high,
Like a diamond in the sky.
Twinkle, twinkle, little star,
How I wonder what you are!
When the blazing sun is gone,
When he nothing shines upon,
Then you show your little light,
Twinkle, twinkle, all the night.
Twinkle, twinkle, little star,
How I wonder what you are!
Then the travler in the dark
Thanks you for your tiny spark;
How could he see where to go,
If you did not twinkle so?
Twinkle, twinkle, little star,
How I wonder what you are!
In the dark blue sky you keep, and
Through my curtains often peep,
For you never shut your eyes,
Till the morning sun does rise.
Twinkle, twinkle, little star,
How I wonder what you are!
As your bright and tiny spark
Lights the travler in the dark,
Though I know not what you are,
Twinkle on, please, little star.
Twinkle, twinkle, little star,
How I wonder what you are
"""
lines = song.lower().strip()\
.replace(",","").replace(".",'').replace("!",'').replace("?",'').split("\n")
words = []
word_counts={}
for line in lines:
words += line.split(" ")
for word in words:
if word in word_counts:
word_counts[word] = word_counts[word] + 1
else:
word_counts[word] = 1
word_key_count = []
for key in word_counts:
key_count = [key, word_counts[key]]
word_key_count.append(key_count)
#冒泡排序
for index in range(1,len(word_key_count)):
for sub_index in range(index,0,-1):
if word_key_count[sub_index][1] > word_key_count[sub_index - 1][1]:
temp = word_key_count[sub_index - 1]
word_key_count[sub_index - 1] = word_key_count[sub_index]
word_key_count[sub_index] = temp
for index in range(len(word_key_count)):
print(word_key_count[index][0],word_key_count[index][1])