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