Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2021-22 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 2021-22 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.

VIDEOLEZIONI DEL CORSO DI FONDAMENTI DI PROGRAMMAZIONE AA20-21

PROGRAMMING COURSE VIDEOCONFERENCES AY20-21

Aiuto funzione ricorsiva

G
GiuseppeLaRocca (1170 points)
3 15 28
in Programmare in Python by (1.2k points)
closed by
Scusate, qualcuno può aiutarmi ad approcciare questa funzione ricorsiva per un albero di parole?

- path(w1, w2):  ritorna un insieme (tipo set) che contiene tutte le tuple di
parole che corrispondono a cammini nell'albero che iniziano con un nodo con la
parola w1 e terminano con un nodo con la parola w2.

Questo è il testo dell'esercizio:

'''Partendo da una parola e da una stringa di caratteri e' possibile, a volte, formarne altre sostituendo
una lettera della parola con un'altra lettera lessicograficamente superiore presa all'interno della stringa di caratteri.
Ad esempio, partendo dalla parola "case" e dalla stringa di caratteri "ro" possiamo mutare la
"a" con la "o" ottenendo "cose", o anche la "e" con la "o" ottenendo "caso", mutando poi la "c" con la "r" nella parola
"caso" otteniamo "raso" e da questa mutando la "a" con la "o" otteniamo "roso". Possiamo dunque considerare tutte
le parole che si ottengono sostituendo una lettera della parola con una lettera
lessicograficamente successiva presente nella stringa di caratteri, ripetere la
stessa operazione a partire da quest'ultime e cosi' via ottenendo un albero di
parole.

Grazie.
212 views
closed with the note: answered

1 Answer

andrea.sterbini (173640 points)
516 941 1795
by (174k points)
Immagino che sia per un programma di enigmistica.
E inoltre che sia presente un elenco delle parole valide (l'esempio usa solo parole valide).
G
GiuseppeLaRocca (1170 points)
3 15 28
by (1.2k points)
Si, è un vecchio HW e alla creazione dell'albero utilizzo solo parole presenti in un txt;
l'unico mio problema è che non riesco ad approcciare questo 'cammino' della funzione 'path(w1, w2)'
andrea.sterbini (173640 points)
516 941 1795
by (174k points)
immagina l'albero
data w1 tutti i figli sono le parole che differiscono da w1 su una sola lettera che è successiva a quella di w1
per ciascuno dei figli lo stesso finchè non hai più nessuna parola

Su questo albero (implicito) puoi fare una ricerca depth-first della parola w2 e al ritorno raccogliere i percorsi
G
GiuseppeLaRocca (1170 points)
3 15 28
by (1.2k points)
Perfetto, grazie.