使用比較基本的方法寫的參考代碼:
#!/usr/bin/env?python#?-*-?coding:?utf-8?-*-
#python?2.7
import?re
print?u'請輸入字符串:'
wz?=?raw_input()
s?=?wz.lower()
#小寫單詞的正則表達式
r='[a-z]+'
#找到所有單詞
ws?=?re.findall(r,s)
#定義壹個字典來存儲單詞和次數
dt?=?{}
for?w?in?ws:
dt[w]?=?dt.setdefault(w,0)+1
#wd來存儲單詞集合,可能有幾個,比如2個單詞,都出現30次
wd?=?[]
#max用來存儲單詞出現的最多的次數
max?=?0
for?word,times?in?dt.items():
if?times>max:
wd?=?[]
wd.append(word)
max?=?times
elif?times?==?max:
wd.append(word)
print?u'有%s個單詞,出現頻率最高:'%len(wd)
for?x?in?wd:
print?"%s\t%s"%(x,max)
測試
請輸入字符串:A?good?beginning?makes?a?good?ending!!!
有2個單詞,出現頻率最高:
a2
good2