[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