15 votes

Comment choisir un mot anglais aléatoire dans une liste

Quel serait le meilleur moyen d'obtenir une fonction qui renvoie un mot anglais aléatoire (de préférence un nom), sans conserver une liste de tous les mots possibles dans un fichier au préalable?

1voto

Luke Sampson Points 3359

Il y a un générateur de mots aléatoires ici - ce n'est pas en anglais mais c'est presque en anglais, c'est-à-dire que les mots sont suffisamment similaires à la langue pour qu'un utilisateur puisse les lire et les stocker dans sa mémoire à court terme.

Le code source est en C# et un peu bricolé, mais vous pourriez utiliser une approche similaire en Python pour générer beaucoup de mots sans avoir à stocker une liste massive.

Alternativement, vous pourriez appeler directement le service web sur la page de démonstration - il est hébergé chez GoDaddy, donc pas de garanties que cela fonctionnera en production !

1voto

Chinmay Kanchi Points 16353

Vous pouvez télécharger les listes "mots communs à SOWPODS et TWL" depuis http://www.math.toronto.edu/jjchew/scrabble/lists/. J'ai regroupé tous les mots de ces fichiers ensemble et la liste pesait environ 642k. Pas énorme selon toutes les normes. Cependant, les listes contiennent beaucoup de mots obscurs, car elles sont destinées à un usage au Scrabble en tournoi. La bonne chose est que les listes forment un sous-ensemble substantiel de la langue anglaise.

0voto

lc. Points 50297

Eh bien, vous avez trois options :

  • Intégrez la liste des mots en dur et initialisez un tableau avec celle-ci.
  • Récupérez la liste depuis un emplacement sur Internet au lieu d'un fichier.
  • Conservez une liste de mots possibles dans un fichier.

La seule façon d'éviter ce qui précède est de ne pas vous soucier de savoir si le mot est réel : vous pouvez simplement générer des chaînes de caractères de longueurs aléatoires. (Il n'y a aucun moyen de générer des mots de manière programmée sans une liste de dictionnaire à partir de laquelle partir.)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X