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.

il metodo larghezza

R
RigelsHysaj (1550 points)
10 36 50
in Es2 by (1.6k points)
Per trovare la larghezza dello Skyline uso la lunghezza del primo elemento della matrice, len(matrix[0]). Pero' mi ritorna

119 != 120 :
119 != 120      <- l'altezza non è giusta

 69 != 70 :
 69 != 70        <- l'altezza non è giusta

se aggiungo +1 mi ritorna

201 != 200 :
201 != 200      <- la larghezza non è giusta

211 != 210 :
211 != 210      <- la larghezza non è giusta

Non riesco proprio a capire, qualche aiuto?
431 views

2 Answers

Xriuk (13590 points)
8 24 116
by (13.6k points)

Per larghezza dello skyline si intende in pixel, nessuna matrice, cioè il rettangolo/edificio con somma della sua coordinata X + la sua larghezza più grande

R
RigelsHysaj (1550 points)
10 36 50
by (1.6k points)
anche se aggiungo in una lista x+base ogni volta che invoco il metodo aggiungi, e poi trovo max(lista), mi da lo stesso errore.

Mi da:

 119 != 120 :
 119 != 120      <- l'altezza non è giusta
Xriuk (13590 points)
8 24 116
by (13.6k points)
Il procedimento è quello, prova a riscrivere la tua funzione
R
RigelsHysaj (1550 points)
10 36 50
by (1.6k points)
ne approfitto di questo post per fare un'altra domanda :)

per cancellare un rettangolo dallo Skyline, io faccio in modo che quando uso il metodo aggiungi(self,ret,x) dello Skyline, allora  nella classe Rettangolo,in una lista, aggiungo self, in questo modo ret sa gli Skyline dove occorre. Pero' adesso non so come procedere, non basta eliminare le istanze dalla lista perché appunto le elimino solo dalla lista e da nessun'altra  parte.

Qualche consiglio?

 Grazie
Xriuk (13590 points)
8 24 116
by (13.6k points)
Il procedimento è giusto: quando aggiungi un rettangolo, ti salvi lo Skyline dove si trova all'interno del rettangolo stesso, inoltre presumo che tu salvi il Rettangolo all'interno di Skyline in un'altra lista. Quando vai ad eliminare un rettangolo, ti basta scorrere tutti gli Skyline nei quali è presente e per ogni Skyline eliminare tutte le occorrenze del rettangolo dalla lista degli edifici/rettangoli.
a.capobianco1 (16770 points)
14 54 165
by (16.8k points)
In quale test sei?
R
RigelsHysaj (1550 points)
10 36 50
by (1.6k points)
test_21b_Skyline_aggiungi