Do you need any help?

[HW8req] Come Gestire Le Istruzioni

MRinaudo (3660 points)
18 39 50
asked Dec 7, 2020 in HW8 obbligatorio by MRinaudo (3,660 points)
closed Dec 11, 2020 by MRinaudo

Ciao a tutti,

mi trovo con difficoltà a capire come dovrei manipolare le istruzioni.

Ho già pulito il testo rimuovendo commenti, spazi, etc.

Sono arrivato ad avere una lista di liste composta da tutte le istruzioni singole del testo. Per esempio, dal file "exponential.txt' la mia funzione ritorna una lista di liste, in cui gli elementi sono "ROMElaMILANtic", "ROMElaMILANtoc", etc.

Come dovrei procedere da qui ?

Dovrei mettere le città, indizi e segreti in variabili diverse e poi da lì procedere ricorsivamente o il mio ragionamento è sbagliato a priori ?

Grazie smiley.

Saluti.

304 views
closed with note: Risolto.

2 Answers

Best answer
twgever (14740 points)
7 26 105
answered Dec 7, 2020 by twgever (14,740 points)
selected Dec 11, 2020 by MRinaudo
non credo serva distinguere variabili e città preventivamente. Almeno per come l'ho fatto io, mi sembra una buona idea procedere "alla cieca", cioè parti dalla città e dal primo indizio, e poi la seconda città te la ricavi direttamente dal segreto, così come il segreto, una volta che hai identificato la città. Non so se mi sono spiegato bene, però vedo inutile o estremamente inefficiente avere un insieme delle città, visto che per ognuna di queste dovresti verificare se è quella nella seconda meta dell'informazione.
nick98 (700 points)
3 11 14
commented Dec 7, 2020 by nick98 (700 points)
scusa ma come fai a ricavarti la seconda città dal segreto?
twgever (14740 points)
7 26 105
commented Dec 7, 2020 by twgever (14,740 points)
scansione lettera per lettera
MRinaudo (3660 points)
18 39 50
commented Dec 7, 2020 by MRinaudo (3,660 points)

La tua risposta mi ha fatto riflettere. coolenlightened

Conviene spezzare l'indizio in due ?

Cioè, per esempio, in una parte avrei "ROMEla" e nell'altra "MILANtic" ?

Grazie.

Saluti.

twgever (14740 points)
7 26 105
commented Dec 8, 2020 by twgever (14,740 points)
più che spezzare in due, direi prima cercare in quali informazioni si trova la "prima parte", e poi operare sulla parte rimanente
lwcs (1380 points)
4 15 26
answered Dec 7, 2020 by lwcs (1,380 points)
La soluzione chiede una funzione per forza in forma ricorsiva.Io ho iniziato il codice pensando prima alla struttura della funziona. Dato che la ricorsiva deve avere una struttura valida in modo tale che quando viene richiamata se stessa al suo interno con un aggiornamento degli argomenti il programma continua a 'iterare'.Il modo principale da cui iniziare penso sia dal caso in cui vuoi che la funzione si blocchi,e questo caso va posto all'inizio del codice ricorsivo,cioè prima che gli fai fare altra roba altrimenti potresti trovarti con la restituzione di piu errori;per arrivare al caso finale la funzione deve 'scalare' sempre qualcosa altrimenti non arriverà mai a bloccarsi.