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

Do you need help?

Metodi Per Es N. 3

DRDLCN (8070 points)
28 68 104
in Es3 by (8.1k points)
recategorized by
Ragazzi per affrontare l'es n.3 sto seguendo questa strada:

ho fatto un dizionario con le varie iniziali come values e come keys ho usato la posizione della parola nella lista.

Poi uso lo slicing per scorrere dalla prima lettera alla fine della parola e poi incremento della lunghezza della parola per trovarmi la parola successiva.

Il fatto è che con questo incremento vado fuori range di 1, devo mettere un controllo? Avete qualche altra idea? Sto percorrendo una strada troppo difficile?
818 views
closed

2 Answers

Best answer
a.capobianco1 (16770 points)
14 54 165
by (16.8k points)
selected by
Personalmente vedo più logico memorizzare come keys le parole da ricercare e come valore le statistiche di rilevamento delle stesse come ad esempio nr ripetizioni, id di rilevamento e quant'altro tu possa definire rilevante per la risoluzione dell'esercizio. Poi con le slices scorri la lista è aggiorni statistiche del dizionario. Infine elabora le statistiche nella maniera che ritieni più opportuna.
DRDLCN (8070 points)
28 68 104
by (8.1k points)
tu intendi fare un dizionario dove come keys hai la stringa della parola e come values hai nr ripetizioni id ecc , ma non puoi mettere al massimo un valore per chiave? Come faresti a mettere tutte le statistiche di rilevamento in una key?
Xriuk (13590 points)
8 24 116
by (13.6k points)
Puoi mettere per una chiave come valore anche un nuovo dizionario, oppure una lista, così dentro puoi mettere tutte le proprietà che ti servono
DRDLCN (8070 points)
28 68 104
by (8.1k points)
Non è pesante come procedimento?
E poi, a che mi servono tutte queste informazioni per un indice? tipo nr di ripetizioni e quant'altro
Xriuk (13590 points)
8 24 116
by (13.6k points)
Pesante no, è come salvarci qualsiasi altra variabile,
A che ti potrebbero servire spetta a te deciderlo, infatti dice che puoi memorizzare tutto quello che ti è utile, io personalmente memorizzo soltanto il numero di ripetizioni
DRDLCN (8070 points)
28 68 104
by (8.1k points)
ma per fare lo slicing devi avere l'iniziale delle parole in lista
Xriuk (13590 points)
8 24 116
by (13.6k points)
Dipende qual'è la tua strategia, io personalmente scorro il testo, "tagliuzzandolo" finché non trovo una parola della lista
p
pietrobrega (4460 points)
6 13 42
by (4.5k points)
Ciao secondo me il discorso dello slicing è giusto, ma perchè usare un dizionario quando puoi già controllare nella lista delle parole?
Mi spiego meglio: se tu scorri con indice i ogni lettera del testo e per ogni parola della lista guardi se lo slice di testo da i a i + len parola è uguale a parola ecco lì che hai trovato la parola. Poi incrementi i di len parola e vai avanti fino alla fine del testo.
a.capobianco1 (16770 points)
14 54 165
by (16.8k points)
Sicuramente è funzionale tuttavia bisogna considerare che:
-la ricerca in lista è in genere più lenta di quella nel dizionario.
-lo slicing del testo lettera per lettera è meno performante di quello che usa artifizi per saltare parti di testo più ampie come ad esempio la lunghezza della parola...
In linea di massima il concetto rimane comunque il medesimo... Leggo da qualche parte e scorro il testo...
DRDLCN (8070 points)
28 68 104
by (8.1k points)
Si esatto i dizionari sono piu performanti
D
Deacoon (9100 points)
11 34 53
by (9.1k points)
mi hanno tolto i punti