Problema HW2 Bis Es 1

marco.giuliani (23860 points)
1 13 62
asked Aug 16, 2019 in HW2bis by marco.giuliani (23,860 points)
closed Aug 20, 2019 by andrea.sterbini
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.
145 views
closed with note: risolto

1 Answer

andrea.sterbini (172680 points)
511 927 1776
answered Aug 16, 2019 by andrea.sterbini (172,680 points)
edited Aug 16, 2019 by andrea.sterbini

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)
1 13 62
commented Aug 16, 2019 by marco.giuliani (23,860 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 (172680 points)
511 927 1776
commented Aug 16, 2019 by andrea.sterbini (172,680 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)
1 13 62
commented Aug 18, 2019 by marco.giuliani (23,860 points)
edited Aug 18, 2019 by marco.giuliani

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