2009-04-21 4 views
28

내 친구는 한 번에 한 글자 씩 전환하여 한 단어를 다른 단어로 바꾸려고 할 때 좋아하는 단어 게임에 대해 말하고있었습니다. 한 번에 한 문자 씩 전환하여 각 반복이 실제 단어를 만들어냅니다.프로그래밍 방식으로 사용할 무료 단어 목록?

예 :

MOON -> 내가가 프로그램을 작성하는 재미 작은 프로젝트가 될 거라고 생각
난폭자
노는
골프
WOLF

WOLF 솔루션을 생성하고, 그것을 더 취하고, 주어진 2 단어, 솔루션이 존재하는지 여부 및 최적 솔루션의 반복 횟수를 결정합니다.

문제 프로그래밍 방식으로 쉽게 액세스 할 수있는 무료 단어 목록을 찾는 데 문제가 있습니다. 나는 이것을 파이썬을 배우기위한 변명으로 사용하려고 생각하고있다. 따라서 파이썬에서 구문 분석하고 액세스하는 방법에 대한 무료 단어 목록과 포인터를 아는 사람이라면 좋을 것이다. 최적의 경로를 찾는 방법을 알아내는 알고리즘은 독자적으로 작동합니다.

+4

에 영어 버전이 있습니다. 이것은 우연한 일이긴하지만 유용한 질문입니다 (http://stackoverflow.com/a/772929/284795 참조) –

답변

54

본질적으로 당신이 찾고있는 this questionthis question을 확인하십시오.

옵션 :는/usr/share/DICT에 대한

  1. 봐/당신의 일반적인 또는 정원 다양한 유닉스 단어 설치합니다.
  2. http://wordlist.sourceforge.net/
  3. http://svnweb.freebsd.org/csrg/share/dict/
  4. http://www.ibiblio.org/webster/

#4 내가 단어 게임에 내 자신의 Python experiment에 사용되는 하나입니다 (파일의 '수정'태그 '단어를'클릭) 멋지게 일 .

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

+0

내가 할 수 있으면 편집 해 주셔서 감사합니다,하지만 upvote 받아 들일 수있는 모든 것에 대해 동의 : p – Davy8

+0

freebsd가 소스 제어를 위해 Subversion으로 전환 했으므로 링크가 더 이상 작동하지 않습니다 - 여기에 업데이트 된 링크가 있습니다. http://svnweb.freebsd.org/base/head/share/dict/web2?view=co –

22

대부분의 유닉스 (osx 포함)에는 파일 /usr/share/dict/words이 있습니다. 당신이 리눅스에 액세스 설치가있는 경우

1

일부 단어 목록이 있어야합니다. zip 파일입니다 (다른 확장자가 있음에도 불구하고). 내부에는 사전 인 en-GB.dic가 있습니다.

3

dict.org의 데이터베이스를보십시오. 이들은 실제로 사전 데이터베이스이므로 직접 단어 정의를 추출해야합니다. Wordnet부터 시작할 수 있습니다.

1

나는 같은 문제를 안고 있었고 일부는 scrabble 기반 사이트로 파고 들었습니다. 멋진 텍스트 형식으로 단어 목록을 여러 개 발견했습니다. 그들은 https://www.wordgamedictionary.com/english-word-list/

+4

이 목록을 전혀 확인하지 못 했습니까? 나는 'tween, 10000, 1760s, 1st_Earl_Baldwin_of_Bewdley, 365_days, 5-hydroxy-3-methylglutaryl-coenzyme_A_reductase 등등 ...'과 같은 유효한 단어가 아닌 것을보고 있습니다. –

관련 문제