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

Do you need help?

Problemi con i test dell'homework

1
1951420 (1130 points)
1 2 5
in HW2 obbligatorio by (1.1k points)
Buonasera, ho consegnato l'homework più volte. Il primo problema riscontrato è che sul mio pc passa tutti i test, mentre quando lo consegno su Q2A ne passa 15 o al massimo 16.  Il secondo problema invece riguarda il voto provvisorio: ho consegnato un homework di complessità ciclomatica 7, mi passava 15 test e mi dava 28 come voto provvisorio; successivamente ho modificato il codice per abbassare la complessità ciclomatica a 5, ma il voto è sceso a 26. Quindi ho rimosso le modifiche applicate nell'ultimo tentativo per riconsegnare quello con complessità 7, solo che ora il voto provvisorio invece di essere 28 è diventato 26. Cosa posso fare per rimediare?
241 views
closed

3 Answers

Best answer
AdSum (16290 points)
9 20 134
by (16.3k points)
selected by
Buonasera, i test eseguiti sulla tua macchina servono solo a darti un'idea di quanto sia ottimizzato il tuo codice e soprattutto di quanto sia corretto. Il tuo computer ha una velocità differente rispetto alla macchina sulla quale vengono eseguiti i programmi (ad esempio io passavo solo 13 test e una volta caricato li ha passati tutti). Quindi l'idea di massima sarebbe di riuscire a passare tutti i test sulla tua macchina, in seguito carichi e vedi se li passi anche li, in caso contrario ottimizzi. Molto importante è anche controllare il motivo del mancato passaggio del test. Vai sulla scheda "results" e accedi a "correttezza". Se l'errore è TIMEOUT ERROR vuol dire che devi semplicemente ottimizzare, se l'errore riguarda i valori finali che sono errati vuol dire che non riesci a passare uno dei test per una falla logica nel programma (ti ricordo che il test01.py sul tuo computer NON include i test segreti dei quali non conosciamo i parametri), magari è proprio quello che ti crea problemi.
Per quanto riguarda il secondo problema è molto strano, probabilmente non hai eliminato tutte le modifiche. Il voto finale (se non erro) è unicamente basato sul numero di test passati con successo (più gli eventuali 2/4 punti bonus solo SE li fai tutti corretti) quindi sicuramente una piccola svista nella rimozione delle modifiche ti ha portato a fallire un ulteriore test.
Non c'è molto da rimediare purtroppo, se non hai un backup non puoi vedere cosa hai modificato erroneamente, ti consiglio di avere sempre un backup a disposizione, per situazioni come queste.

Buon lavoro!
C
ChristianSt (1790 points)
3 9 25
by (1.8k points)
Ti consiglio di andare sulla pagina Corso/Risultati nel tab Correttezza e leggere il log per vedere esattamente dove si trova il problema, potrebbe essere che vada in Timeout
1
1914925 (3070 points)
2 4 23
by (3.1k points)
La VM su cui vengono fatti i test è mediamente più lenta del pc dell'utente. Se hai un pc piuttosto potente è probabile che la VM sia più lenta del tuo PC, perciò ecco il motivo per cui sul tuo pc li passi e sulla VM no.
Il voto provvisorio dipende da quanti test passi, il fatto che prima ne passassi 16 ed ora 15 può essere dovuto dal fatto che un test è davvero sull'orlo del timeout, magari facendo 0.49s nelle run "fortunate" ed oltre 0.5 per le run "sfortunate". Purtroppo c'è sempre una piccola variazione tra un test e l'altro. Dovresti cercare di ottimizzare il tuo codice affinché tu riesca a superare tutti i test con un buon margine di scarto dal timeout.