Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

Lunghezza diversa da quella prevista - HW4

anon3 (10560 points)
20 66 138
in HW4 by (10.6k points)
closed by

Il codice sembrava funzionare, ma per aggiustare qualche problema tecnico e migliorare le performance lo ho stupidamente cambiato e adesso non ricordo più come tornare indietro e cosa avevo fatto di diverso (CNTR-Z non funziona perché ho chiuso Spyder).

Ora tutti i test mi ritornano il problema del tipo: 

 AssertionError: 5 != 16 : ('The constructed string has different len (5) from the expected one (16)\n'

Dove 5/16 cambiano ogni volta a seconda del file che viene analizzato dalla macchina. Ovviamente il problema risiede nel fatto che la lunghezza della stringa risultante (prodotto finale della funzione) risulta essere diverso dalla lunghezza massima della parola più lunga tra quelle presenti nei file.

Prima non avevo usato len() o altre condizioni, dato che alla stringa finale aggiungo caratteri in ogni index. Quindi se la parola più lunga ha più index (posizioni) a disposizione, rispetto alle altre, allora ci sarà un solo carattere più frequente degli altri in quell'index e di conseguenza viene appeso in automatico alla stringa (non so se mi sono spiegato bene, ma per chi ha risolto questo punto dovrebbe comunque essere chiaro).

Ci sono consigli su come "forzare" il fatto che la stringa finale debba avere la medesima lunghezza della parola più lunga in un file? Oppure, avete ipotesi su cosa io possa aver cambiato senza accorgermene (crying) e che di conseguenza ha fatto nascere questo problema?

Mi rendo conto di non essermi spiegato troppo bene, quindi se ci sono parti che non si sono capite o avete bisogno di più informazioni per potermi aiutare, chiedete pure.

373 views
closed with the note: Caso chiuso

2 Answers

L
Larenzz03 (5990 points)
3 14 65
by (6.0k points)
Non saprei come risponderti su "come tornare indietro", se hai salvato il filepy non credo. Per la lunghezza della stringa personalmente ho utilizzato il metodo ljust, se non lo conosci prova a fare una ricerca
anon3 (10560 points)
20 66 138
by (10.6k points)
Non conoscevo .ljust(), grazie! Provo ad implementarlo e ti faccio sapere.
L
Larenzz03 (5990 points)
3 14 65
by (6.0k points)
di nulla! certo fammi sapere
anon3 (10560 points)
20 66 138
by (10.6k points)

Commento un pò in ritardo, alla fine ho utilizzato un modus operandi diverso. Grazie comunque del consiglio smiley, anche se ho notato che .ljust da spesso errori, in quanto il type(int) non è iterabile.

lucanazzareno.russo (1350 points)
0 2 8
by (1.4k points)
È difficile rispondere a una domanda di questo tipo senza conoscere l'approccio che hai adottato.
Potresti spiegare come hai deciso di salvare le parole che leggi dai file?