Ciao, grazie per i complimenti ma è facile scrivere codice così leggero grazie alla sintassi di python
print ''.join(base[l] for l in out)[::-1] praticamente l'espressione base[l] for l in out non fa altro che creare un generatore che itera sui moduli calcolati precedentemente, e poi prende ogni l-esimo valore nella stringa base, questo generatore viene passato al join che concatena tutti i valori resi dal generatore con la stringa vuota che chiama il join, a questo punto hai la stringa che cercavi ma al contrario, quindi usi il terzo campo dello slice [inizio:fine:passo] per creare una sequenza della stringa col passa al contrario. Spero di essere stato chiaro, è la prima volta che partecipo a questa mailing list :D Comunque puoi trovare tutto sull documentazione in queste pagine http://docs.python.org/2/tutorial/datastructures.html#list-comprehensions http://docs.python.org/2/reference/expressions.html#calls P.S. ci sono altri modi per farlo (anche in una riga sola) ma lascio a te il divertimento ;) 2013/5/8 Gabriel Battaglia (Kriyaban) <iz4...@libero.it> > Ciao Federico. > Che bello il tuo codice, ha qualcosa che non avevo mai incontrato prima. > Ti va se ne parliamo un attimo? > > ***CODE HERE*** > import string > # E... fin qui... :) > > base = string.printable[:36] > # Potevo arrivarci ma ho guardato l'help di string.prontable... :) Vero, > Python ha proprio le batterie incluse è? > > > n = int("gabriel", 36) > # Questa riga l'ho tolta perchè voglio che n venga ricevuta come parametro > dalla funzione che mi sto scrivendo. > > out = [] > # Ok, qui prepariamo la lista contenitore. > > while n: > # Significa finchè n è vera, cioè diversa da 0, giusto? > > out.append(n%36) > # Qui aggiungiamo il resto della divisione fra n e 36 che sarà sempre > un intero compreso fra 0 e 35 > > n = n/36 > # ok > > > print ''.join(base[l] for l in out)[::-1] > # Qui arriva la sorpresa... un ciclo for annidato dentro ad un...?? > # me la spieghi meglio? > > Io non sarei mai riuscito a produrre un tale concentrato di efficienza ed > eleganza messe assieme. > > G. > ______________________________**_________________ > Python mailing list > Python@lists.python.it > http://lists.python.it/**mailman/listinfo/python<http://lists.python.it/mailman/listinfo/python> > -- *Federico Figus*
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python