[Gulli] C-onoscete il C?
Alessandro Guarguaglini
ilguargua@tiscali.it
Dom 23 Giu 2013 15:18:15 CEST
In data domenica 23 giugno 2013 14:16:56, Daniele Forsi ha scritto:
>
> bisogna definire come calcolare la cortezza :-)
> ci vorrebbe una sezione per le scuole e una per il resto del mondo
> (peccato che il Linux Day sia troppo vicino all'inizio dell'anno
> scolastico), ci potrebbero essere due classifiche, una che tiene conto
> del lato informatico (es. efficienza degli algoritmi usati) e una che
> tiene conto il lato umano (es. presentazione dei risultati); ci
> vorrebbe anche un argomento interessante, magari usando degli Open
> Data
Concordo, bisogna specificare bene cosa si voglia intendere con più corto.
Se si fa solo per gioco, sia il mio che il tuo esempio possono essere
ulteriormente scorciati, tipo :
#! /usr/bin/python
import fileinput
for l in fileinput.input():
for b in l.rstrip('\n\r').split(';')[4].split(',') :
print '%s%s' % (';'.join(l.rstrip('\n\r').split(';')[0:4]),b and b or '')
oppure nel tuo, come tu dicevi, eliminando la p :
#! /usr/bin/python
for l in [x.rstrip('\n\r') for x in open("rates.csv")]:
a = l[:l.rfind(';')]
print "\n".join(['%s%s' % (a, x) for x in l[p + 1:].split(',')])
però alla fine il guadagno non c'è, sotto nessun punto di vista, il programma
risulta solo meno leggibile, ma non più efficente.
> interessante, anche io preferirei usare stdin/stdout, ma propongo
> questo che legge il file come nell'originale:
BTW, fileinput fa entrambe le cose, si può specificare il file (o i files) da
aprire con la linea di commando.
ilguargua
Maggiori informazioni sulla lista
Gulli