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

Do you need help?

Problema HW2 Bis Es 1

marco.giuliani (23860 points)
2 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.
243 views
closed with the note: risolto

1 Answer

andrea.sterbini (207920 points)
750 1267 2373
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)
2 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 (207920 points)
750 1267 2373
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)
2 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