2009-04-21 63 views
28

我的一個朋友正在談論一個她喜歡玩的文字遊戲,你試圖通過一次切換一個字母來轉換一個字到另一個字(他們有相同數量的字母),其中每個迭代產生一個真實的字。以編程方式使用的免費字詞列表?

例子:

MOON - > WOLF
GOON
穿幫
GOLF
WOLF

我想這會是一個有趣的小項目,寫一個程序,生成解決方案,並進一步考慮2個單詞,確定解決方案是否存在以及最佳解決方案中的迭代次數。

問題是我無法找到可以通過編程方式輕鬆訪問的免費單詞列表。我也在考慮以此爲藉口來學習Python,所以如果有人知道免費的單詞列表以及如何從Python解析和訪問它的指針,那將會很棒。找出如何找到最佳路徑的算法,我將自行開發。

+4

這是一個有用的問題,雖然它恰好是一個愚蠢(請參閱http://stackoverflow.com/a/772929/284795) – 2013-01-28 15:53:21

回答

54

檢出this questionthis question,它們基本上就是你要找的。

選項:

  1. 查找在/ usr /共享/字典/您共同或花園的各種Unix的話安裝。
  2. http://www.ibiblio.org/webster/
  3. http://wordlist.sourceforge.net/
  4. http://svnweb.freebsd.org/csrg/share/dict/(點擊文件的「修訂版」標籤「字」)

#4是我用我自己的Python experiment成文字遊戲之一,它很好地工作。

獎勵積分,這裏的東西,讓你開始你的Word程序:然後

import re 
startwith = "MOON" 
endwith = "GOLF" 
cklength = re.compile('.{' + str(len(startwith)) + '}(\n)?$', re.I) 
filename = "C:/dict.txt" 
words = set(x.strip().upper() for x in open(filename) if x.match(cklength)) 

詞將是一個集的字典中的所有4個字母的單詞。你可以從那裏做你的邏輯。

+0

猜猜我沒有看到愚蠢在我的快速搜索。感謝:) – Davy8 2009-04-21 14:52:20

+0

感謝編輯,如果可以的話,我會給予獎勵積分,但upvote和接受的所有我可以做的:p – Davy8 2009-04-21 16:42:46

22

大多數unix(包括osx)都有一個文件/usr/share/dict/words

4

,如果您有可以訪問的Linux安裝,應該有一些單詞列表中

/usr/share/dict/ 
1

因爲我已經使用了mozilla English dictionary類似的東西。 這是一個zip文件(儘管它有另一個擴展名)。在裏面你會發現en-GB.dic這是字典。

3

查看dict.org中的數據庫。這些實際上是字典數據庫,所以你需要自己提取單詞定義。你可以從Wordnet開始。

相關問題