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.

[AVVISO] Attenti anche agli errori nel timeit

andrea.sterbini (207940 points)
756 1270 2377
in Avvisi by (208k points)
edited by

Alcuni hanno il codice che dà errore se viene eseguito più volte come ad esempio per il calcolo dei tempi.

I tempi non verranno considerati validi se sono presenti errori.

Per controllare in locale e capire qual'è il problema usate il comando

python -B -u -m timeit -c -v -v -v -v -r 1 -n 10 -s "import grade01" "grade01.runtests(grade01.tests)"
1.3k views

6 Answers

P
Pic1 (1030 points)
9 24 31
by (1.0k points)
Se non ci sono errori nella pagina risultati, siamo tranquilli o dobbiamo controllare lo stesso in locale?
andrea.sterbini (207940 points)
756 1270 2377
by (208k points)
Se non ci sono errori state pure traquilli  :)  8-) (y)
s
senad_ (1040 points)
1 6 12
by (1.0k points)
prof  a me mi si presenta questo problema , pero eseguendo il comando da lei dato in locale  mi da un errore di sintassi, che purtroppo non so some coreggere

File "<timeit-src>", line 1
    'import
          ^
SyntaxError: EOL while scanning string literal

, forse è dovuto al fatto che non passo gli ultimi due test?
edoardo (7090 points)
19 52 67
by (7.1k points)
cambia ' con " nel comando e risolverai :D
1
1803699 (800 points)
2 5 16
by (800 points)
A me dà errore nell'esercizio 2 ma mettendo il comando si mette lì e inizia a fare test all'infinito senza fermarsi. Se c'è qualcosa che devo correggere non ne ho idea di cosa sia, non so proprio in base a cosa dovrei "capire qual è il problema" qua.
andrea.sterbini (207940 points)
756 1270 2377
by (208k points)
carica il grader e lo esegue 10 volte.
Ne escono eventuali eccezioni che possono aiutarti a capire qual'è il problema.
1
1803699 (800 points)
2 5 16
by (800 points)
edited by
Scemo io che l'ho fermato prima pensando andasse per sempre...

Però l'ho fatto finire dieci volte e comunque non ha dato eccezioni, mentre quando lo carico sul sito me le dà. Devo preoccuparmi o no?
A
Adriano (940 points)
7 16 23
by (940 points)
edited by

A me da  error -> AssertionError  nella pagina "tempo" dei risultati, ma immagino derivi dal fatto che effettivamente, i due test sulla strategia vincente non li passo, dato che la funzione non è ancora giusta. Devo preoccuparmi comunque anche per gli altri test o non verranno considerati solo questi due?
In ogni caso, se uso il comando da lei scritto, mi da "invalid syntax" sulla parola timeit.

andrea.sterbini (207940 points)
756 1270 2377
by (208k points)
Nel log di timeit mostro solo le eccezioni e non il log completo che avrebbe molte più linee (dipende anche da quanta roba stampate)
Se due test non li passa è normale che ci siano delle eccezioni nel timeit.
Dato che il tempo conta ai fini della classifica solo se si passano tutti i test, finchè non sistemi gli errori e non li passi tutti, puoi ignorare i risultati di timeit
A
Adriano (940 points)
7 16 23
by (940 points)
Perfetto, grazie
G
GiovanniQuadraroli (1230 points)
10 28 38
by (1.2k points)
nel primo esercizio la somma dei tempi dei test è 19 secondi e ho punteggio pieno. Il timeit invece non viene completato perché va in timeout. Verranno considerati i test superati oppure no?
andrea.sterbini (207940 points)
756 1270 2377
by (208k points)
I test superati vengono considerati.
Controllerò a mano i casi che passano tutti i test ma che vanno in timeout nella misura del tempo.
m
m.card (200 points)
1 4 7
by (200 points)
Program 02 e 03 mi danno AssertionError nella schermata dei tempi, mentre in locale i test vengono effettuati senza lanciare eccezioni. Non saprei dire cosa non va
andrea.sterbini (207940 points)
756 1270 2377
by (208k points)
Prova ad eseguire il timeit in locale, così da vedere perchè escono quelle asserzioni.
Non modificare le griglie usate per i test (che vengono usate da vari test) ma fanne una deepcopy
andrea.sterbini (207940 points)
756 1270 2377
by (208k points)
Veramente vedo lo stesso errore anche nel log di esecuzione dei test