Forum
>>
Programmazione Python
>>
Scripting
>>
esercizio banale che non mi viene
Pagina: Indietro 1 2
Esegui il login per scrivere una risposta.
Scritto da Orsogrizzly |
2017-04-07 12:13:48 - Re: esercizio banale che non mi viene
|
def conta_caratteri(movies, escludiRiga): film=open(movies, 'r').read() film=film.split('\r\n') #escludiRiga= True conteggi=[] #print(conteggi) for record in film: if escludiRiga == True: movie=record.split(';', 1) id=movie0 text=movie1 text.replace('\r',' ') conteggi.append({id:len(text)}) #escludiRiga = False #continue print (conteggi) print ("primo giro!!!!") print("occhio al valore true o false di escludiRiga ora lo passo uguale a FALSE") conta_caratteri("movies.csv", False) print ("secondo giro!!!1!") print("occhio al valore true o false di escludiRiga ora lo passo uguale a TRUE") conta_caratteri("movies.csv", True) risultato:
[] secondo giro!!!1! [{'id': 394068}] --- Ultima modifica di Orsogrizzly in data 2017-04-07 12:14:50 --- --- Ultima modifica di Orsogrizzly in data 2017-04-07 12:16:01 --- |
|
Scritto da Giuliab |
2017-04-07 12:30:52 - Re: esercizio banale che non mi viene
|
Grazie mille!
Riusciresti a spiegarmi come funziona escludi riga= true/false? è una cosa a cui proprio logicamente non ci arrivo |
|
Scritto da Orsogrizzly |
2017-04-07 16:04:20 - Re: esercizio banale che non mi viene
|
Come credo tu sappia già è una variabile boleana 1/0, I/O, vero/falso, si/no, true/false.
Nel caso specifico, if escludiRiga == True: la inserisci in testa a un if, quindi è come se tu dicessi: se il valore di escludiRiga è vero, (oppure se il valore di escludiRiga è si ecc.. ecc..) fai questa cosa, nel caso specifico andrà ad eseguire il codice scritto di seguito la condizione: movie=record.split(';', 1) id=movie[ 0 ] text=movie[ 1 ] text.replace('\r',' ') conteggi.append({id:len(text)}) eventualmente oltre a quella condizione puoi aggiungerne delle altre con elif else ovviamente nel caso specifico il valore per il confronto viene immesso alla chiamata della funzione: conta_caratteri("movies.csv", False) questo False scritto in rosso è il valore che assume escludiRiga e che viene confrontato con True nella riga:
if escludiRiga == True:se tu in questa riga scrivevi: if escludiRiga == False:confrontavi il valore con falso e se la condizione era vera (cioè il dato immesso in escludiRiga era false), il codice continua alla riga successiva come prima. |
|
Scritto da Giuliab |
2017-04-07 16:15:11 - Re: esercizio banale che non mi viene
|
quindi in questo caso specifico se voglio chiamare la funzione su file che ha la prima riga da saltare per qualsiasi ragione ad escludi riga do valore true, se il file invece non ha la prima riga da saltare gli do valore false.
sembrerò un po' stupida, ma faccio una fatica infinita a capire la logica dietro la programmazione... |
|
Scritto da Orsogrizzly |
2017-04-07 16:30:47 - Re: esercizio banale che non mi viene
|
ti faccio un esempio eseguilo e ragionaci su un pochino vedrai che non è così difficile come sembra:
#---------------------------------------------------------------------- def provaIf(variabileDaPassare): """""" if variabileDaPassare == True: print ("la variabile passata è uguale a", str(variabileDaPassare)) print("quindi eseguo questo codice") print("la somma è ", int(1) + int(1)) else: print("spiacente ma il valore della variabile variabileDaPasssare è:", str(variabileDaPassare)) print("quindi invece di eseguire l'altro codice esguo questo di seguito") print("la somma è ", int(2) + int(3)) print("facciamo un esempio semplice") #impostiamo variabileDaPassare a true provaIf(True) print("********" * 20) print("ora impostiamo variabileDaPassare a false") #impostiamo variabileDaPassare a false provaIf(False)il risultato sarebbe questo: facciamo un esempio semplice la variabile passata è uguale a True quindi eseguo questo codice la somma è 2 **************************************************************************************************************************************************************** ora impostiamo variabileDaPassare a false spiacente ma il valore della variabile variabileDaPasssare è: False quindi invece di eseguire l'altro codice esguo questo di seguito la somma è 5 poi per dare risposta completa alla situazione precedente devi aver ben chiaro come è strutturato il file csv e quindi scrivere una o più condizioni che devono essere sodissfatte per eseguire il codice che a te interessa..... --- Ultima modifica di Orsogrizzly in data 2017-04-07 16:31:19 --- --- Ultima modifica di Orsogrizzly in data 2017-04-07 16:33:35 --- --- Ultima modifica di Orsogrizzly in data 2017-04-07 16:35:53 --- |
|
Scritto da Orsogrizzly |
2017-04-07 17:40:17 - Re: esercizio banale che non mi viene
|
da questa tua risposta mi viene da pensare che il problema stia nel fatto che tu pensi che la variabile escludiRiga sia un comando o un'istruzione,
quando invece le o la istruzione che farà saltare la lettura o l'elaborazione della prima riga viene dopo l'istruzione: if escludiRiga == True:sono le righe di codice scritte dopo questa che determinano il salto alla riga non vuota o contenente qualcos'altro . Non so se mi sono spiegato. --- Ultima modifica di Orsogrizzly in data 2017-04-07 17:41:18 --- |
|
Scritto da Giuliab |
2017-04-08 15:14:14 - Re: esercizio banale che non mi viene
|
sisi questo è chiaro!
comunque grazie mille per l'aiuto, non ce l'avrei mai fatta |
Pagina: Indietro 1 2
Esegui il login per scrivere una risposta.