Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.lang.python > #4113

Tricher au scrabble...

From Dominique <dominique.sextant@orange.fr.invalid>
Newsgroups fr.comp.lang.python
Subject Tricher au scrabble...
Date 2023-11-28 11:33 +0100
Organization A noiseless patient Spider
Message-ID <uk4fm4$852n$1@dont-email.me> (permalink)

Show all headers | View raw


Bonjour,

Je m'amuse à faire un logiciel de triche au Scrabble. J'ai bien les 
presque 350 000 mots en français au format txt.

Voici mes débuts :

-----------------------------------------
f=open('/home/USER/dico.txt')
scrabble=dict()
for i in f:
     j=i[:-1]
     mot=list(j)
     mot.sort()
     mot=''.join(mot)
     scrabble[str(mot)]=j
del (mot)
del (i)
del(j)
del (f)
print('Création du dictionnaire terminée')

test='xx'
while test=='xx':
     lettres=input('Lettres ')
     lettres=list(lettres)
     lettres.sort()
     lettres=''.join(lettres)
     if lettres!='xx':
         if lettres in scrabble.keys():
             print(scrabble[lettres])
     else:
         test=9
-----------------------------------------

Ce script fonctionne en deux blocs. Le premier, qui ne tourne qu'une 
fois, charge le dico.text. Il parcourt chaque mot, le transforme en 
liste, met les lettre par ordre alpha croissant, reconstitue un string 
avec join. Il affecte comme values à cette keys le mot d'origine j.

Le deuxième bloc me demande mes lettres, les transforme en liste, les 
classe par ordre alpha, reconstitue un string et voit si cette variable 
existe en keys dans mon dictionnaire scrabble, ce à quoi il me donne la 
values correspondant.

Il répond à la question, dès lors que les lettres que je lui soumets 
existent à l'identique en clef. J'ai des limites. Par exemple, avec les 
lettre aberv, il me proposera brave mais pas baver.

La vraie limite vient de ce que je ne vois pas trop comment faire pour 
que l'application cherche un mot avec mes 7 lettres, en cas d'échec, 
avec 6 lettres etc. Je pense que je pourrais utiliser les outils 
d'itertools (combination ou permutations. mais j'ai peur que les temps 
de traitements deviennent très longs...

Comment verriez-vous les choses ?

Merci et belle journée à vous tous,

-- 
Dominique
Esto quod es

Back to fr.comp.lang.python | Previous | NextNext in thread | Find similar


Thread

Tricher au scrabble... Dominique <dominique.sextant@orange.fr.invalid> - 2023-11-28 11:33 +0100
  Re: Tricher au scrabble... Dominique <dominique.sextant@orange.fr.invalid> - 2023-11-28 16:39 +0100
  Re: Tricher au scrabble... Dominique <dominique.sextant@orange.fr.invalid> - 2023-11-28 16:43 +0100
    Re: Tricher au scrabble... yves <yves@free.invalid> - 2023-12-01 17:39 +0000
      Re: Tricher au scrabble... yves <yves@free.invalid> - 2023-12-01 17:56 +0000
        Re: Tricher au scrabble... Michel <michel@domain.invalid> - 2023-12-02 03:48 +0100
          Re: Tricher au scrabble... yves <yves@free.invalid> - 2023-12-06 22:22 +0000
            Re: Tricher au scrabble... Michel <michel@domain.invalid> - 2023-12-07 10:28 +0100
            Re: Tricher au scrabble... Thierry Pinelli <olmia2b+news@gmail.com> - 2023-12-07 16:35 +0100
            Re: Tricher au scrabble... Thierry Pinelli <olmia2b+news@gmail.com> - 2023-12-07 17:52 +0100
            Re: Tricher au scrabble... yves <yves@free.invalid> - 2023-12-07 18:00 +0000
            Re: Tricher au scrabble... yves <yves@free.invalid> - 2023-12-07 18:07 +0000
  Re: Tricher au scrabble... yves <yves@free.invalid> - 2023-11-28 16:05 +0000
    Re: Tricher au scrabble... yves <yves@free.invalid> - 2023-11-28 16:17 +0000
      Re: Tricher au scrabble... Dominique <dominique.sextant@orange.fr.invalid> - 2023-11-29 05:55 +0100
    Re: Tricher au scrabble... yves <yves@free.invalid> - 2023-11-28 20:16 +0000
  Re: Tricher au scrabble... Michel <michel@domain.invalid> - 2023-11-28 17:52 +0100
    Re: Tricher au scrabble... Dominique <dominique.sextant@orange.fr.invalid> - 2023-11-29 05:57 +0100
  Re: Tricher au scrabble... Michel <michel@domain.invalid> - 2023-11-28 19:23 +0100

csiph-web