HW4-ultima riga testi

giordano_sannino (13650 points)
7 16 81
asked Nov 11, 2020 in HW1 opzionale by giordano_sannino (13,650 points)

Quando faccio lo split per "\n" per dal testo trovarmi una lista di righe.

dal testo esempio:

paperino saluta [accapo]

pippo ringrazia

Diventa:

["paperino saluta","pippo ringrazia", "",]

Mi conta anche l'accapo finale quindi, la mia domanda è la seguente:

In ogni file di testo c'è questa caratteristica della riga vuota finale? oppure rischio di perdermi con i test segreti per esempio?

Per adesso faccio un pop, non se se aggiungere un controllo per vedere se l'ultimo elemento è vuoto e quindi rallentare il programma oppure se mi sto soltando ponendo un problema inutile!

Grazie in anticipo dei consiglilaugh

177 views

3 Answers

L
Lorenzo Spataro (2710 points)
0 0 12
answered Nov 11, 2020 by Lorenzo Spataro (2,710 points)
Io la lista di stringhe me la trovo nel tuo stesso modo e ho inserito il controllo di cui parli e ti confermo che non ti si rallenta quasi per nulla il programma, dato che il controllo viene fatto una sola volta per ogni test
giordano_sannino (13650 points)
7 16 81
commented Nov 11, 2020 by giordano_sannino (13,650 points)
Si però è sempre un if in più, se è una caratteristica di tutti i file possiamo toglierlo, aspettiamo altre risposte
giordano_sannino (13650 points)
7 16 81
commented Nov 11, 2020 by giordano_sannino (13,650 points)
Anche per capire come comportarci con i futuri compiti sui file, visto che si ripeterà ciò
L
Lorenzo Spataro (2710 points)
0 0 12
commented Nov 11, 2020 by Lorenzo Spataro (2,710 points)
edited Nov 11, 2020 by Lorenzo Spataro
Se superi tutti i test con il pop vuol dire che sicuro c'è l'accapo ad ogni file quindi la risposta definitiva ce la può dare solo il professore,  perché alla fine ciò che ti preoccupa sono i test segreti e la struttura di quelli la conosce solo lui.

Comunque in ogni caso ti consiglio di mettercelo il controllo anche perché non ti devi basare sui test, il tuo programma deve funzionare per qualsiasi tipo di struttura dell'input senza sfruttare le caratteristiche come viene citato nel topic dell'homework: https://q2a.di.uniroma1.it/18044
1
1914925 (3070 points)
1 4 23
answered Nov 11, 2020 by 1914925 (3,070 points)
Nel mio programma scorro un verso per volta nel file, quindi ho implementato un check che controlla se il verso sia vuoto (perché prima già utilizzo strip, lower e translate, di fatto rendendo il verso vuoto nel caso ci fosse stato \n e simili e/o solo caratteri di interpunzione) e se fosse stato vuoto di "saltarlo" (cioè non va a calcolarsi le ES etc etc). A livello di prestazioni non ho notato alcun cambiamento sostanziale (FORSE 1-2ms più lento), nonostante io faccia questo controllo per ogni verso. In più facendo così, il programma non si "rompe" neppure se ci sono versi "vuoti" in mezzo al poema.
(Comunque il mio programma ha CC 3, basta sapersi giostrare con la creazione di nuove funzioni e puoi implementare molti if statements senza alzare la CC oltre un certo limite)
1965335 (1080 points)
1 2 8
answered Nov 11, 2020 by 1965335 (1,080 points)
c'è un semplice metodo che ti toglie tutti gli \n alla fine del tuo testo , è presente nella  lezione 4 del prof spognardi  (non credo di poterlo scrivere direttamente)