Sujet : Re: Tricher au scrabble...
De : yves (at) *nospam* free.invalid (yves)
Groupes : fr.comp.lang.pythonDate : 01. Dec 2023, 18:39:07
Autres entêtes
Organisation : Guest of ProXad - France
Message-ID : <656a1a3b$0$10088$426a74cc@news.free.fr>
References : 1 2 3
User-Agent : Pan/0.149 (Bellevue; 4c157ba)
Le Tue, 28 Nov 2023 16:43:50 +0100, Dominique a écrit:
Il y a encore une remarque à faire sur le style de programmation :
si un script est composé de deux blocs, il sera plus clair pour le
lecteur si chaque bloc est défini comme une fonction et nommé par sa
tâche.
J'y ai bien pensé, mais le premier bloc n'est exécuté qu'une fois, lors
de la création du dictionnaire. Je n'ai pas jugé utile de faire une
fonction...
Je testerai le listing que tu me proposes dès que j'ai un peu de temps.
Merci pour cette approche
J'ai séché aujourd'hui sur un problème wordle qui s'apparentait pour le
coup à un problème de scrabble.
Du coup, j'ai réimplémenté quelques idées de ce fil de façon très brute,
et j'ai été surpris par la rapidité de traitement.
Voici un exemple, avec une séquence de lettres qui a de nombreux
anagrammes :
dictionnaire = "/usr/share/dict/french"
with open(dictionnaire) as f:
b= [mot.rstrip() for mot in f.readlines()]
c= [mot for mot in b if sorted(mot) == sorted("acenrt")]
print(len(b))
print(len(c))
print(c)
print('terminé')
#+RESULTS:
: 346200
: 9
: ['canter', 'cantre', 'carnet', 'centra', 'crante', 'encart', 'nectar',
'tancer', 'tanrec']
: terminé
@+
-- Yves