io ho voluto creare un albero di gioco di sole foglie; e per crearla ho usato ovviamente una funzione ricorsiva in cui mi prende la lista della configurazione iniziale(quella che mi da in input in primis) e la trasformo prima di metterla nella ricorsione con un .split in una lista; il problema è che il dizionario mi prende configurazioni che non deve prendere; ora vi mostro alcune delle tante in piu che prende che ho visto facendo i print: [15, 19]
[15, 35, 3]
[15, 35, '5', '1']
[14]
[25, 3]
[17]
[15, 19]
[15, 35, 3]
[15, '30', '40', 3]
[15, '30', '40', '5', '1']
ed ho visto che mi mette anche copie con chiavi uguali come è possibile? ora vi dico come ho imposto la ricorsione: inanzittutto io uso una classe Nodo che ha radice la configurazione ed ha una lista di figli che se vuota è foglia; io inizio con il caso base che è lista lunga uno; se è metto nel dizionario con valore lista vuota perche è foglia; poi continuo e itero su questa configurazione se non è lunga uno allora vedo se due numeri sono pari la somma: fai la media e chiama la ricorsione portando appresso il dizionario che io aggiorno con un .update(chiama la funzione con la nuova configurazione)... e se in questo for non entro mai nel caso di due numeri pari allora quella configurazione è una foglia e ho fatto subito dopo fuori il for come il caso base che mi mette dentro il dizionario quella configurazione con valore lista vuota....dove posso avere sbagliato? forse il caso base non deve essere se è solo un numero la configurazione?
[15, 35, 3]
[15, 35, '5', '1']
[14]
[25, 3]
[17]
[15, 19]
[15, 35, 3]
[15, '30', '40', 3]
[15, '30', '40', '5', '1']
ed ho visto che mi mette anche copie con chiavi uguali come è possibile? ora vi dico come ho imposto la ricorsione: inanzittutto io uso una classe Nodo che ha radice la configurazione ed ha una lista di figli che se vuota è foglia; io inizio con il caso base che è lista lunga uno; se è metto nel dizionario con valore lista vuota perche è foglia; poi continuo e itero su questa configurazione se non è lunga uno allora vedo se due numeri sono pari la somma: fai la media e chiama la ricorsione portando appresso il dizionario che io aggiorno con un .update(chiama la funzione con la nuova configurazione)... e se in questo for non entro mai nel caso di due numeri pari allora quella configurazione è una foglia e ho fatto subito dopo fuori il for come il caso base che mi mette dentro il dizionario quella configurazione con valore lista vuota....dove posso avere sbagliato? forse il caso base non deve essere se è solo un numero la configurazione?