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.
Options:
#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à.
La plupart des Unix (qui inclut osx) ont un fichier /usr/share/dict/words
.
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 .
si vous avez accès à une installation linux, il devrait y avoir des listes de mots dans
/usr/share/dict/
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.
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/