HW3opt - Come Iterare Correttamente La Sequenza Binaria

MRinaudo (3660 points)
18 40 50
asked Oct 30, 2020 in HW3 opzionale by MRinaudo (3,660 points)
recategorized Oct 31, 2020 by andrea.sterbini

Buonasera a tutti,

considerando l'esempio dell'esercizio, ho preso le stringhe del file di testo e le ho messe insieme, in un unica stringa.

Poi, ho deciso di mettere tutte le possibili sequenze dentro una lista, ma i risultati non mi tornano per le sequenze '00' e '000'

Sostanzialmente, non riesco a sbarazzarmi dei numeri che si trovano in grassetto.

['01', '10', '01', '10', '00', '01', '10', '00', '01', '10', '00', '00', '01', '10', '00', '00', '01', '11', '11', '11', '10', '01', '11', '10', '00', '00', '00', '01', '10', '01', '10', '00', '01', '11', '10', '00', '01', '11', '11', '11', '10', '00', '00', '00', '01', '10', '00', '01', '10', '00', '01', '11', '11', '11', '10', '00', '01', '10', '00', '00', '00', '00', '00', '00', '010', '101', '010', '100', '001', '010', '100', '001', '010', '100', '000', '001', '010', '100', '000', '001', '011', '111', '111', '110', '101', '011', '110', '100', '000', '000', '001', '010', '101', '010', '100', '001', '011', '110', '100', '001', '011', '111', '111', '110', '100', '000', '000', '001', '010', '100', '001', '010', '100', '001', '011', '111', '111', '110', '100', '001', '010', '100', '000', '000', '000', '000', '000', '00', '0101', '1010', '0100', '1001', '0010', '0100', '1001', '0010', '0100', '1000', '0001', '0010', '0100', '1000', '0001', '0011', '0111', '1111', '1110', '1101', '1011', '0110', '1100', '1000', '0000', '0001', '0010', '0101', '1010', '0100', '1001', '0011', '0110', '1100', '1001', '0011', '0111', '1111', '1110', '1100', '1000', '0000', '0001', '0010', '0100', '1001', '0010', '0100', '1001', '0011', '0111', '1111', '1110', '1100', '1001', '0010', '0100', '1000', '0000', '0000', '0000', '0000', '000', '00']

Si accettano consigli, e grazie per l'aiuto smiley.

Saluti.

155 views
closed with note: Ho risolto, grazie per le risposte!

2 Answers

Best answer
SimoneModiga (3370 points)
6 18 34
answered Oct 31, 2020 by SimoneModiga (3,370 points)
selected Oct 31, 2020 by MRinaudo
Ho avuto lo stesso problema, ti consiglio di porre una condizione pensata apposta, del tipo ' se cerco sequenze da 4 bit, di certo non voglio sequenze da 2, 3, etc. bit'.
O
Oakandrew (6400 points)
4 26 63
answered Oct 31, 2020 by Oakandrew (6,400 points)
edited Oct 31, 2020 by Oakandrew
Praticamente fai iterazione e non esci dal ciclo quando dovresti.

Nel tuo esempio stai facendo il ciclo con lunghezze di 2, poi di 3 e di 4.

E quando finisce "unica" stringa infine hai tre zeri nel primo caso.

Ma siccome non hai nessun break ne cambi il range del ciclo for in base di lunghezza di parola, questa operazione ti aggiunge in primo caso "00"

in secondo "000,00". E se tu avessi a=2 b=5 gli ultimi elementi dovrebbero esserci "0000,000,00"(se lavori con lo stesso file di testo).