Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Es2 esame 18/04/18 dubbio

g
gianluca (1270 points)
1 12 19
in Info sul corso e sugli esami by (1.3k points)
Ciao a tutti allego la traccia dell'esercizio  :

 '''
    Es 2: 5 punti
        
    Si definisca la funzione ricorsiva (o che usa una vostra funzione ricorsiva)  
    es2(parola), che presa in input una stringa di caratteri  parola restituisce la lista delle  
    diverse "sottoparole crescenti"  di parola. Le sottoparole devono comparire nella lista in ordine lessicografico.
    Si ricorda che una sottoparola e' quello che si ottiene da una parola concellandone 0 o piu'
    caratteri (in testa, in coda o nel mezzo).
    Inoltre una sottoparola si dice crescente se i caratteri che la compongono
    letti da sinistra  a destra risultano ordinati lessicograficamente.
    
    Ad esempio  la lista restituita da es2('zanzara') sara'
    ['a', 'aa', 'aaa', 'aar', 'an', 'anr', 'anz', 'ar', 'az', 'n', 'nr', 'nz', 'r', 'z', 'zz']
    '''

perchè le  sottoparole sono solo queste della soluzione?e come si dovrebbe ragionare?
374 views
closed

1 Answer

Best answer
_andrea_ (45670 points)
11 42 297
by (45.7k points)
selected by
Sono solo queste perché sta scritto nella traccia che devi prendere solo quelle crescenti. Puoi ottenerle facendo una funzione che ritorni l'insieme di tutte le sottoparole e poi scartando quelle non crescenti
g
gianluca (1270 points)
1 12 19
by (1.3k points)
grazie mille!!!ok ora mi è chiaro e che sto un pò fuso ultimamente...allora per trovare solo le sottoparole crescenti che consigli ? iterare su ogni stringa e fare il controllo lettera per lettera,
_andrea_ (45670 points)
11 42 297
by (45.7k points)
Puoi usare list applicato su una stringa che te la trasforma in una lista di cartteri e poi controllare che sia ordinata