web-dev-qa-db-fra.com

Liste de mots gratuite à utiliser par programme?

Une de mes amies parlait d'un jeu de mots auquel elle aimait jouer, où vous essayez de convertir un mot en un autre (ils ont le même nombre de lettres) en changeant une lettre à la fois, où chaque itération produit un vrai mot.

Exemple:

LUNE -> LOUP
CONTINUE
GOOF
LE GOLF
LOUP

J'ai pensé que ce serait un petit projet amusant d'écrire un programme pour générer des solutions, et d'aller plus loin, avec 2 mots, déterminer si une solution existe et le nombre d'itérations dans une solution optimale.

Le problème est que j'ai du mal à trouver des listes de mots gratuites auxquelles je peux facilement accéder par programme. Je pense également à utiliser cela comme une excuse pour apprendre Python, donc ce serait génial si quelqu'un connaissait des listes Word gratuites et des pointeurs sur la façon de l'analyser et d'y accéder à partir de Python. L'algorithme pour trouver comment trouver un chemin optimal, je vais travailler seul.

34
Davy8

Options:

  1. Recherchez/usr/share/dict/words sur votre installation Unix commune ou de jardin.
  2. http://www.ibiblio.org/webster/
  3. http://wordlist.sourceforge.net/
  4. http://svnweb.freebsd.org/csrg/share/dict/ (cliquez sur la balise 'revision' du fichier 'words')

#4 est celui que j'ai utilisé pour moi-même expérience Python dans les jeux Word, et cela a bien fonctionné.

Pour les points bonus, voici quelque chose pour vous aider à démarrer votre programme 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))

Les mots seront alors un ensemble de tous les mots de 4 lettres du dictionnaire. Vous pouvez faire votre logique à partir de là.

66
Paolo Bergantino

La plupart des Unix (qui inclut osx) ont un fichier /usr/share/dict/words.

25
Adam Luter

Vous pouvez trouver une liste de 2,2 Mo de mots anglais ici .

Vous pouvez y accéder en utilisant les fonctions d'E/S de fichiers .

6
ryeguy

si vous avez accès à une installation linux, il devrait y avoir des listes de mots dans

/usr/share/dict/
5
Eoin Campbell

Jetez un œil aux bases de données dans dict.org . Il s'agit en fait de bases de données de dictionnaire, vous devez donc extraire vous-même les définitions de Word. Vous pouvez commencer à partir de Wordnet .

4
kgiannakakis

Pour quelque chose de similaire, j'ai utilisé le dictionnaire anglais mozilla . Il s'agit d'un fichier Zip (même s'il a une autre extension). À l'intérieur, vous trouverez en-GB.dic qui est le dictionnaire.

1
idrosid

J'avais le même problème et avec quelques fouilles dans un site basé sur le scrabble, j'ai trouvé plusieurs de leurs listes de mots dans un format texte Nice. Ils ont une version anglaise sur https://www.wordgamedictionary.com/english-Word-list/

1
Cesar Bielich