Deutsch   English   Français   Italiano  
<656a1a3b$0$10088$426a74cc@news.free.fr>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!2.eu.feeder.erje.net!feeder.erje.net!feeder1-2.proxad.net!proxad.net!feeder1-1.proxad.net!cleanfeed1-b.proxad.net!nnrp2-2.free.fr!not-for-mail
From: yves <yves@free.invalid>
Subject: Re: Tricher au scrabble...
Newsgroups: fr.comp.lang.python
References: <uk4fm4$852n$1@dont-email.me>
	<recherche-20231128131821@ram.dialup.fu-berlin.de>
	<uk51rm$auel$2@dont-email.me>
MIME-Version: 1.0
User-Agent: Pan/0.149 (Bellevue; 4c157ba)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Date: 01 Dec 2023 17:39:07 GMT
Lines: 47
Message-ID: <656a1a3b$0$10088$426a74cc@news.free.fr>
Organization: Guest of ProXad - France
NNTP-Posting-Date: 01 Dec 2023 18:39:07 CET
NNTP-Posting-Host: 91.175.128.103
X-Trace: 1701452347 news-3.free.fr 10088 91.175.128.103:37074
X-Complaints-To: abuse@proxad.net
Bytes: 2208

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