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.

Problema HW2 Bis Es 1

marco.giuliani (23860 points)
4 13 62
in HW2bis by (23.9k points)
closed by
Buongiorno, ho completato l'esercizio, e prima di consegnarlo l'ho testato sul mio PC.

 Funziona e mi supera tutti i test, sia che lo testi da Spyder, sia che lo esegua da Anaconda Prompt (anche con timeout). Però, una volta consegnato sono andato a controllare i risultati e non me ne passa nemmeno uno! Com'è possibile?

Premetto che ovviamente non sono andato a vedere il file dei test. Ho anzi anche creato un file di testo con delle sequenze scritte in quel modo per provarlo, e funziona.
258 views
closed with the note: risolto

1 Answer

andrea.sterbini (208020 points)
756 1270 2377
by (208k points)
edited by

Da quello che vedo:

  • due test non li passi perchè superi i 6 secondi di timeout sulla VM dei test
  • gli altri 4 invece non li passi perchè torni un numero in più nell'ultima riga di una sequenza
marco.giuliani (23860 points)
4 13 62
by (23.9k points)

Ok prof, grazie. Ma come posso controllarlo allora senza consegnarlo ogni volta? Perché quando eseguo il test su Spyder mi torna sempre tutto passato...

test_fseq1_sequenze_di_esempio (__main__.Test) ... ok
test_fseq2_10righe_da_4 (__main__.Test) ... ok
test_fseq3_100righe_da_20 (__main__.Test) ... ok
test_fseq4_10000righe_da_3 (__main__.Test) ... ok
test_fseq6_100righe_da_20_e_spazi (__main__.Test) ... ok
test_fseq7_5000righe_da_6_e_spazi (__main__.Test) ... ok

----------------------------------------------------------------------
Ran 6 tests in 9.465s

OK
6 test passed, 0 tests failed

C'è qualche differenza fra test della cartella e quelli della VM?

andrea.sterbini (208020 points)
756 1270 2377
by (208k points)
No, mi sono sbagliato, metti un numero in meno nella ultima riga della ultima sequenza.
Una domanda, perchè tronchi il file?
marco.giuliani (23860 points)
4 13 62
by (23.9k points)
edited by

Tronco il file per togliere i due '\n' in eccesso dell'ultima sequenza.

In questo modo posso scrivere tutte le sequenze nel file con un solo ciclo (almeno in teoria...). Forse tronco anche l'ultimo numero?

EDIT:

Sì, era proprio quello l'errore. Avevo fatto male i calcoli. Ho riflettuto che lo '\n' occupa solo un byte. Ho quindi cambiato la dimensione da troncare (da 4 a 2) e ora non solo supera tutti i test, ma sono pure il più veloce smiley. Peccato non ci sia il bonus efficienza ahahah