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.

Elementi superflui Hw2.2

e
edoardo.dematteis (570 points)
6 10 16
in Es2 by (570 points)
closed by

Nell'esecuzione del secondo esercizio quando vado a controllare i risultati nel dizionario sono presenti anche gli elementi che sono in insi ma non in fcompiti. Il motivo per cui ciò avviene è che ho definito una lista vuota prima dell'inizio del ciclo di pianifica dei compiti e mi è necessaria per poter poi aggiungere a questa lista (che verrà ritornata alla fine) l'ordine d' esecuzione nei compiti. Qualcuno sa come si potrebbe risolvere questo problema? 

Lascio qui i risultati dell'output (messo in ordine per leggibilità)

{"9": ["4", "7"], "2": ["4"], "10": ["4"], "4": [], "6": ["4", "7"], "1": ["5"], "11": []}

in comparazione con quello corretto del Professore

{"9": ["4", "7"], "2": ["4"], "10": ["4"], "4": [], "6": ["4", "7"], "1": ["5"]}

460 views
closed with the note: answered

2 Answers

f
francesco.r (1070 points)
4 15 20
by (1.1k points)
edited by
Ciao, puoi aggiungere un controllo. Se l'elemento i nell'insieme è in fcompiti lo aggiungi nell'insieme risultato, altrimenti no.
francesco.dev (33560 points)
22 51 129
by (33.6k points)
Ciao!

O usi il meccanismo specificato da francesco.r, che consiglia di controllare se l'elemento è nel file

Oppure molto più semplicemente controlli se la lista è diversa da lista vuota ([]).

Se il check con la lista vuota ti dà problemi, ti basterà settare un valore di default nella lista e verificare alla fine se il contenuto della lista è diverso da quel valore di default.
Esempio:
lista = ['-']
Ed alla fine controllo se la lista è stata modificata oppure contiene ancora il '-'.

Altro metodo!
Puoi anche verificare se la lunghezza della lista è diversa da 0. Se lo è allora aggiungi la lista alla chiave del dizionario.


Come vedi ci sono tantissimi meccanismi, sta a te scegliere quale usare.

- Francesco Pio Scognamiglio
m
matteo.chiari (3650 points)
2 17 30
by (3.7k points)
Purtroppo non è soluzione accettabile perchè alcuni compiti possono non avere compiti "secondari", e quindi hanno una lista vuota. Vedi chiave 4
francesco.dev (33560 points)
22 51 129
by (33.6k points)
Infatti quando non hanno un compito secondario io gli assegno un valore di default.
La mia è una soluzione accettabile e funzionante.
f
francesco.r (1070 points)
4 15 20
by (1.1k points)
È accettabile anche come dice francesco.dev
francesco.dev (33560 points)
22 51 129
by (33.6k points)
Esattamente francesco.r, grazie per aver sostenuto il mio pensiero! :)