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.

Homework 4.1 , grade & dubbi

S
Simone99_ (1180 points)
22 50 60
in Es1 by (1.2k points)
recategorized by

salve , stavo incominciando l'homework , nel grade 01 di 4.1 negli argomenti c'è scritto (per esempio) '('Alb10.json','tAlb10_3.json')", quel tAlb10_3.json dove lo trovo? non riesco a capire cos'è

In più non riesco a capire cosa chiede effettivamente l'esercizio , in particolare il punto uno del primo esercizio, sarò forse io  surprise

grazie mille

710 views

2 Answers

edoardo (7090 points)
19 52 67
by (7.1k points)
edited by

Ciao, il secondo file (tAlb10_3.json) sarà il tuo output, quindi quel file non esisterà fin quando non avvierai il grader e supererai i vari test.

Il primo punto dell'esercizio ti chiede questo:

Ad esempio partendo da d noterai che hai 2 rami: uno che va in e uno che va in l. Successivamente e si dirama in f g h che non hanno più rami.

Il tuo output, perciò, sarà come questo:


{"d": ["e", "l"], "l": [], "e": ["f", "g", "h"], "f": [], "h": [], "g": []}

Questo dizionario, come vedi, ha come chiavi tutti i nodi presenti da d in poi  e come valori ha una lista con le lettere dei rami che dipendono da quella chiave. Infatti d ha come valore una lista contenente [e, l] che sono i suoi due rami :D

Spero d'averti chiarito un po' le idee ahah!

S
Simone99_ (1180 points)
22 50 60
by (1.2k points)
ah quindi il punto uno chiede semplicemente : l'utente da una lettera, l'output dovrà essere tutto l albero gia esistente che ho caricato prima MA pertendo dalla lettera in questione, possiamo intenderla come " la lettera in input deve essere la radice"?
Per quanto riguarda il file fout , in che senso non si creerà finche non supererà i test? cioe io quando chiamo la funzione che devo mettere al posto di quel "fout"?
edoardo (7090 points)
19 52 67
by (7.1k points)
sì, io l'ho intesa così
Il fout sarebbe il file di destinazione dove tu andrai a scrivere il dizionario. Nel grader viene messo automaticamente il nome, per cui non devi preoccuparti.
Nel caso in cui volessi fare dei test puoi dare come parametro a fout nomi totalmente casuali
andrea.sterbini (207920 points)
749 1267 2373
by (208k points)
Scusate, il nodo 'i' in basso nel disegno non ci deve essere, ho corretto il file e ricaricato lo zip sul server.
andrea.sterbini (207920 points)
749 1267 2373
by (208k points)
Hai letto il file program01.py?
La funzione da implementare riceve due nomi di file, il primo lo devi leggere, il secondo lo devi creare.
P
Pic1 (1030 points)
9 24 31
by (1.0k points)
edited by
Prof però la traccia mi sembra presenti un errore..
Nel dizionario d, alla chiave g è associata una lista vuota, ma dovrebbe essere associata la lista contenente i. “g”: [“i”]

O meglio... credo sia sbagliata la rappresentazione (visto che d è ciò che prendiamo in input)..quindi nella rappresentazione non dovrebbe esserci nulla sotto g...
O sbaglio io?
Auron (15880 points)
50 126 194
by (15.9k points)
E' esattamente quello che ho pensato anch'io appena l'ho letta... E mi è venuto il dubbio che non avessi capito fino in fondo la traccia... Aspettiamo l'illuminazione :)

Inoltre mi chiedo, sempre nella prima funzione del primo esercizio... Se nella chiave "g" abbiamo l'attributo "i"... Allora nel dizionario presente in fout.json, come abbiamo messo "f:[]" e "h:[]", dovremmo aggiungere "i:[]"... O ho fatto confusione?
edoardo (7090 points)
19 52 67
by (7.1k points)
Uh, il dizionario nel file è questo: {"a": ["b"], "b": ["c", "d"], "c": ["i"], "d": ["e", "l"], "e": ["f", "g", "h"], "f": [], "g": [], "h": [], "i": [], "l": []} qui la g non ha collegamenti, per cui ha ragione Pic1 :D
Auron (15880 points)
50 126 194
by (15.9k points)
Ma in questo caso sarebbe sbagliata la rappresentazione dell'albero, o dico una sciocchezza?
In effetti, penso sia più questo secondo caso, perchè mi sembrava strano trovare una lettera ripetuta due volte in un esercizio con queste premesse...
edoardo (7090 points)
19 52 67
by (7.1k points)
edited by
Nel disegno erroneamente c'e' un nodo di troppo.
G non ha figli
andrea.sterbini (207920 points)
749 1267 2373
by (208k points)
Ho corretto il file e ricaricato lo zip sul server.