Domanda veloce e importante

di il
4 risposte

Domanda veloce e importante

Ragazzi volevo sapere in parole povere cosa fa questo pezzo di codice

def sum(file, k):
    tot = 0         
    import csv         
    with open(file, 'rb') as f:     
        reader = csv.reader(f)
        for row in reader:           
            try: tot += int(row[k])
            except IndexError: pass
    return tot
il file in input è un database contenente tabelle e devo fare la somma dei numeri contenuti nella colonna k.
quello che voglio sapere è come posso spiegare a parole questo passaggio

for row in reader:           
            try: tot += int(row[k])
            except IndexError: pass
so cosa fa ma non so spiegarlo

4 Risposte

  • Re: Domanda veloce e importante

    simo954 ha scritto:


    so cosa fa ma non so spiegarlo
    Com'è possibile??
  • Re: Domanda veloce e importante

    Sarebbe
    'Per ogni riga del database, prendi l'elemento che si trova nella posizione k e vallo a sommare a tot. Se dovessi incontrare un errore di indendazione, non fare nulla.
    quindi restituisci il valore di tot'

    Si potrebbe dire meglio?
  • Re: Domanda veloce e importante

    Si è più o meno è come hai detto!
    Per ogni riga del file somma a tot il k-esimo elemento (quindi in pratica fa una somma di tutti gli elementi in posizione k). Con l'except si catturano gli IndexError, che suppongo si verifichino se il k-esimo elemento non esiste. Quindi se in posizione k non c'è nessun elemento allora continua l'esecuzione senza far nulla di particolare


    Sent from my iPhone using Tapatalk
  • Re: Domanda veloce e importante

    Ok, grazie mille
Devi accedere o registrarti per scrivere nel forum
4 risposte