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

Do you need help?

la larghezza non è giusta 240!=250 (es2 hw3)

VincenzoImperati (6290 points)
6 15 58
in Es2 by (6.3k points)
closed by
il mio codice supera 50 test su 51 e vado in errore sul penultimo:

test_30_Rettangolo_cancella_2___r5____s12____0__0__5__0__6__240__90__11____es2_test30_2_png____es2_risTest30_2_png__ (__main__.Test)
list() -> new empty list ... FAIL

250 != 240      <- la larghezza non è giusta

Alla fine dei test le immagini vengono tutte generate correttamente con le stesse dimensioni e colori di quelle di esempio, solo che questo errore sembra che mi dica che la larghezza dell'immagine da me generata è differente da quella che deve risultare (240) ma messe a confronto nella console le due immagini sono uguali. Come mai??

EDIT: ho risolto, salvavo tutte le (ascissa+base) e (altezza) di ogni rettangolo in due insiemi, meglio salvarsi le ripetizioni...
396 views
closed with the note: risolto

2 Answers

B
Ballants (3110 points)
2 4 20
by (3.1k points)
In quel test viene cancellato almeno un rettangolo... evidentemente nel metodo salva() aggiorni la larghezza in base a quali rettangoli si trovano nello skyline e alla loro posizione (come è giusto che sia), ma nel metodo larghezza() rimangono le vecchie informazioni
VincenzoImperati (6290 points)
6 15 58
by (6.3k points)
questo già lo faccio: quando un rettangolo viene cancellato mi preoccupo di eliminare tutte le sue informazioni degli skyline, anche perchè non facendolo si verificherebbero più errori rispetto al mio singolo
_andrea_ (45670 points)
13 42 297
by (45.7k points)
In che modp ritorni la larghezza? La calcoli ogni volta che viene chiamato il metodo o la aggiorni quando viene modificato lo skyline?