[Python] Python Anagram Contest was Tesseract
Giovanni Porcari
giovanni.porcari a softwell.it
Mar 12 Gen 2016 08:17:28 CET
> Il giorno 11 gen 2016, alle ore 23:04, Marco Beri <marcoberi a gmail.com> ha scritto:
>
>
> Il 11 gen 2016 10:34 PM, "Carlo Miron" <miron a python.it> ha scritto:
> >
> > Temo che Giovanni abbia abbondantemente fatto già man bassa dei premi
> > a disposizione :D
>
> Absolutely.
C'è da vedere che sia un algoritmo giusto :P
Comunque, sempre a http://genropy.org/docu/viewer/tutorial/examples/anagrams
potete vedere sia la versione precedente con il limite delle 2 parole
sia la versione che limita sulla dimensione minima delle parole che compongono
l'anagramma.
A parte l'algoritmo che potete vedere nella classe Anagrammer, ci sono alcune
'chicche' nel codice della pagina.
Per prima cosa c'è uno slider per assegnare il valore alla lunghezza minima
delle parole da considerare. La cosa interessante è che i parametri dello
slider sono calcolati dinamicamente in funzione della lunghezza del nome
inserito. In questo modo cerco di evitare che il server si impianti
perche qualcuno chiede su nomi lunghi degli anagrammi con parole di 2 lettere.
La seconda peculiarità è che il glossario è cachato nel sito e quindi ogni
processo lo carica solo una volta nel corso della sua vita.
Questo ha consentito di risparmiare di media circa un secondo a chiamata.
Il box di ricerca nei risultati consente poi di filtrare i risultati
secondo la sequenza di caratteri digitata.
In basso a destra trovate poi un bottone per fare il download degli anagrammi
sia in formato excel che csv per cercarvi con calma quelli più gustosi.
Penso che leggendo il codice della classe Anagrammer magari ci siano possibili
miglioramenti (in effetti non sono affatto sicuro che sia il miglior modo
di anagrammare) mentre leggendo la parte che gestisce la GUI dovreste
capire qualcosa di più del modo di disegnare una GUI in genropy.
Buona giornata :)
G
Maggiori informazioni sulla lista
Python