統計英文兒歌《twinkle twinkle little star》中,使用到的單詞及其出現次數。要求去除單詞大小寫的影響,不統計標點符號的個數,並按降序輸出。
Twinkle, twinkle, little star,
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!
song = """Twinkle, twinkle, little star,
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!
"""
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])