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.

Es. 3 Dobbiamo considerare le parole intersecate? (no)

h
huertas.jose (640 points)
3 12 17
in Es3 by (640 points)
recategorized by
Nella descrizione dell'esercizio dice che nessuna parola è prefisso di un'altra, questo però non esclude che alcune parole si intersechino. Ad esempio:

'lucenavela' con una lista ['luce', 'vela','nave']  sembra che 'nave' fosse dentro il testo. Li dobbiamo considerare o no questi casi?
781 views
closed

2 Answers

Best answer
p
pietrobrega (4460 points)
6 13 42
by (4.5k points)
selected by
Ciao,
no perchè essendo una concatenazione di parole diverse non c'entra se si creano casi di questo genere...bisogna solo considerare una parola alla volta senza "intersecazioni"
DRDLCN (8070 points)
28 68 104
by (8.1k points)
non lettera per lettera ma lettera + lunghezza parola potrebbe andare? è abbastanza veloce?
Xriuk (13590 points)
8 24 116
by (13.6k points)
Quello è il trucco!
DRDLCN (8070 points)
28 68 104
by (8.1k points)
c'è un problema, se con lo slicing vado fuori dal testo mi da errore giustamente
a
acul90ml (260 points)
1 4 5
by (260 points)
scusate ma dividere parola per parola va bene per questo testo ma se prendi già gattotopocane la divisione è diversa.
come siete riusciti?
Xriuk (13590 points)
8 24 116
by (13.6k points)
@DRDLCN Tieni d'occhio i tuoi indici per lo slicing, semplice

@acul90ml Infatti le divisioni non sono tutte uguali, perchè la lunghezza delle parole cambia, per questo devi scorrere e poi dividere il testo, poi controlli se la "fetta" corrisponde ad una parola della lista
SinotDascare (630 points)
3 6 10
by (630 points)
Io ho adottato lo slicing praticamente subito dopo aver letto la traccia, ma ciò nonostante due test non rientrano nel tempo, credete che in qualche modo, spostando i valori di lista all'interno di un dizionario che ha come valori iniziali tutti zero potrei effettivamente superare il test in modo consono?

Mi ci sto sbattendo da stamattina e davvero non riesco a trovare un modo sano con le liste, ho anche provato la ricerca binaria, ma ho ricevuto risultati ancora peggiori (non in fattore di tempo se non per un test) e in questo modo la distruzione della lista di input diventa impraticabile e tediosa
Xriuk (13590 points)
8 24 116
by (13.6k points)
Lo slicing deve essere effettutato secondo un criterio, perchè scorrendo lettera per lettera risulta estremamente inefficiente. Prova a lavorare con la lunghezza delle parole.
SinotDascare (630 points)
3 6 10
by (630 points)
Il problema è che effettuavo proprio questo metodo per lo slicing, forse sarebbe stato utile eliminare dalla lista le ripetizioni, magari tramite dizionario, cosa che ho fatto, ma comunque ci mette un bel po' di tempo
D
Deacoon (9100 points)
11 34 53
by (9.1k points)
no non devi farlo