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.

creazione dell' immagine skyline

a
ares.angeloni (1060 points)
10 24 37
in Es2 by (1.1k points)
recategorized by
Per creare l' immagine seguendo le regole dell sk, ho pensato di ordinare i miei rettangoli in base alla loro luminosità, in modo tale da disegnare sempre SOPRA l' immagine.

a questo punto il mio problema è come realizzare il sort in base alla luminosità (r+g+b); la struttura che utilizzo è {x:(base, altezza,(r, g, b))}.

vanno bene anche le soluzioni che utilizzano gli oggetti in se invece dei dati relativi
654 views

1 Answer

_andrea_ (45670 points)
13 42 297
by (45.7k points)
Con un sorted e key=lambda x:qualcosa in base che prenda in considerazione le giuste regole di ordonamento (luminosità e x minore)
_andrea_ (45670 points)
13 42 297
by (45.7k points)
r+g+b no, perché non esistono r+g+b. esiste però la tupla che contiene r,g,b, e questa tupla è contenuta nella tupla che è il valore di x nel dizionario. per ottenere r dovrai fare dizionario[x][2][0], per ottenere g sarà dizionario[x][2][1] e per b invece dizionario[x][2][2]
a
ares.angeloni (1060 points)
10 24 37
by (1.1k points)
ovviamente non esistono, e quello che hai scritto è proprio quel che ho fatto, adesso ho la lista delle chiavi ordinate per quel che abbiamo detto, quindi mi basterà scorrere la lista e utilizzare i dai del diz a chiave corrispondente. grazie
_andrea_ (45670 points)
13 42 297
by (45.7k points)
Esatto quello è l'obiettivo del sorted
a
ares.angeloni (1060 points)
10 24 37
by (1.1k points)
il meccanismo funziona finchè utilizzo un solo parametro, ma quando aggiungo il secondo parametro x, è come se facesse 2 ordinamenti indipendenti. se b ha luminosità maggiore di a, verrà inizialmente inseirto dopo, poi verrà spostato in prima posizione
_andrea_ (45670 points)
13 42 297
by (45.7k points)
No, le tuple si ordinano per il primo elemento, poi per il secondo