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.

cosa è cambiato nell'ultimo aggiornamento dei test?

_andrea_ (45670 points)
13 42 297
in Info sul corso e sugli esami by (45.7k points)
cosa è cambiato esattamente negli ultimi file dei test caricati? ieri avevo il program01 che passava sul mio pc 10 test,e sulla VM 12, non capisco il motivo. oggi senza cambiare assolutamente nulla passo 8 test sul mio pc e 11 sulla VM. cosa cambia da ieri a oggi? e inoltre secondo me questi test sono esagerati non per difficoltà di esecuzione, ma per difficoltà di confronto. nel senso che se nel primo hw volevo controllare perché non ottenevo il risultato giusto, era difficile ma non impossibile trovare il motivo dell'errore consultando il file json o il log dei test. ora invece mi trovo in una situazione in cui ieri passavo tutti i test sul primo esercizio in 1400ms, oggi invece ne passo 11 e non ho idea del motivo, e inoltre la stringa da controllare è così lunga che quasi non entra nella console di spyder e per aprire il json e il txt ci metto un'ora, e anche se ci riesco è comunque una stringa di centinaia di caratteri senza senso, il che rende impossibile il confronto tra il mio risultato e quello che dovrei ottenere. in questa situazione come faccio a capire cosa non funziona? e inoltre come è possibile che su 12 test non ne passo solo 1? cosa ha di speciale il test "100 LOTR places x 4" che mi fa sbagliare? cosa NON aveva ieri di speciale che mi faceva superare tutti i test? ritengo sia impossibile, per la maggioranza di noi, migliorare il proprio programma senza poter confrontare efficientemente i risultati, e io personalmente sono convinto che il mio programma sia corretto (ieri lo era) e quindi rimango sorpreso vedendo che passo solo 11 test
668 views

4 Answers

wascus (1050 points)
0 3 11
by (1.1k points)
Credo che nell'ultimo test abbiano tolto i trattini tra le parole
_andrea_ (45670 points)
13 42 297
by (45.7k points)
E allora non capisco come facesse ieri a passare e oggi no
f
federicoAg (1910 points)
1 7 16
by (1.9k points)
anche io avevo lo stesso problema e ho risolto cambiando il codice tenendo conto di alcune info che ho trovato qui sul forum (purtroppo non erano nella descrizione dell'esercizio):

1) ci può essere più volte la stessa parola ripetuta in una riga/colonna/diagonale
2) una parola può essere prefisso di un altra
 

prova anche ad aprire i file txt in codifica utf-8
_andrea_ (45670 points)
13 42 297
by (45.7k points)
il mio programma funziona così: per ogni parola nella lista scorro tutte le lettere e se ne trovo una che è l'iniziale di quella parola faccio un controllo nelle 8 direzioni per vedere se da quella lettera parte la parola. questo controllo va avanti fino a che la lettera successiva (se rientra nei limiti del diagramma) è uguale alla lettera successiva anche nella parola. in teoria questo controllo, per quanto possa risultare lento (e lo è) è infallibile perché è anche quello che una persona normale userebbe per risolvere il crucipuzzle: prendo una parola, se trovo la sua iniziale controllo in alto a sinistra, poi in alto, poi alto destra, destra, basso destra, basso, basso sinistra, sinistra. in questo modo non posso perdermi nessuna parola. e difatti funzionava fino a stamattina. proprio questo mi sorprende ancora di più. se questo metodo funziona su 11 test, cosa non lo fa funzionare nel dodicesimo? non riesco a darmi una risposta
f
federicoAg (1910 points)
1 7 16
by (1.9k points)
il tuo ciclo cambia lettera quando hai una corrispondenza di una parola completa in una delle 8 direzioni? potrebbe essere che una stessa parola sia anche in una delle altre direzioni partendo dalla stessa lettera

hai provato ad aggiungere tutte le parole al contrario nella lista dove tieni le parole?

non mi viene in mente altro
_andrea_ (45670 points)
13 42 297
by (45.7k points)
8 direzioni significa che prendo in considerazione sia dritta che rovescia, perché se vado a destra la sto cercando dritta, se vado a sinistra la sto cercando al contrario, ma sempre sulla stessa linea. Stessa cosa per le colonne e le due diagonali. E inoltre eseguo tutte le direzioni su ogni lettera, indipendentemente dal fatto che ne trovo una o no
_andrea_ (45670 points)
13 42 297
by (45.7k points)
È proprio per questo che rimango sorpreso: apparentemente il mio metodo non sbaglia. Eppure....
f
federicoAg (1910 points)
1 7 16
by (1.9k points)
invece di controllare parola per parola, vedi direttamente se per ogni lettera in ogni direzione, quell'insieme di lettere (lungo minimo la lunghezza della parola piu piccola e massimo lungo la lunghezza della parola più lunga) è contenuto nell'insieme delle parole... se non risolve, forse almeno dovrebbe velocizzare
_andrea_ (45670 points)
13 42 297
by (45.7k points)
No al massimo così peggioro. E comunque il mio metodo mi piace perché risoecchia come ragiona una persona, quindi devo capire se l'errore sta nel test o nel mio programma
d
davide.scrimieri (2930 points)
5 16 39
by (2.9k points)
1) ci può essere più volte la stessa parola ripetuta in una riga/colonna/diagonale
2) una parola può essere prefisso di un altra

Se i test fossero umanamente leggibili allora era giusto lasciarli fuori dalla descrizione dei requisiti dell'esercizio. Essendo però queste condizioni nascoste non nei primi esercizi (che uno poteva anche risolversi a mano) ma negli ultimi che non sono umanamente trattabili, allora, mi permetto con tutto il massimo rispetto di dire che secondo me queste condizioni andavano esplicitate tra i requisiti dell'esercizio.

Spero che il professore non me ne vorrà, la mia è solo un'opinione e trascurabile in quanto tale.
_andrea_ (45670 points)
13 42 297
by (45.7k points)
ora che lo sappiamo comunque io il dubbio ce l'ho ancora. per il resto, un modo per trovare la soluzione si trova
e
enricograziani (1190 points)
2 13 27
by (1.2k points)
ho il tuo stesso problema sul tuo stesso test e quello di cui proprio non mi capacito è come sia possibile che passi il test LOTR places ma non il LOTR places x4 che penso sia lo stesso ma solo moltiplicato mentre per l'altro test che si ripete passo entrambi i casi...