Salve, lascio qui sotto il testo dell'esercizio. Purtroppo mi trovo in difficoltà perchè non riesco a capire come crearmi questi 'dizionari' prendendo i caratteri dell'iesime posizioni.
Il mio ragionamento è stato questo:
#prendo il primo carattere di ciascuna stringa e lo metto nel dizionario
#prendo il secondo carattere e aggiungo/incremento il dizionario
#prendo il terzo carattere e aggiungo/incremento il dizionario
#prendo il carattere più presente (se pari prendo quello maggiore)
e mi trovo in difficoltà dal punto di visto algoritmico. Ringrazio tutti in anticipo!
'''
Es 10: 3 punti
progettare la funzione es10(ftesto,k) che, presi in input
l'indirizzo di un file di testo ed un intero k, restituisce una stringa di caratteri lunga k.
Il file di testo contiene stringhe di diversa lunghezza
(una per riga ed ogni riga termina con '\n'), si guardi
ad esempio il file f9.txt.
I k caratteri della stringa restituita dalla funzione si ottiengono
considerando le stringhe lunghe k presenti nel file di testo.
L'i-mo carattere della stringa sara' il carattere che compare con maggior
frequenza come i-mo carattere delle stringhe lunghe k nel file di testo
(in caso di parita' di occorrenze viene scelto il carattere che precede
gli altri lessicograficamente).
Nel caso il file di testo non contenga parole lunghe k allora viene restituita
la stringa vuota.
Ad Esempio, per il file di testo f9.txt e k=3 la funzione restituisce la stringa 'are' a
seguito della presenza in f9.txt delle seguenti 4 stringhe lunghe 3:
tre
due
amo
ora
'''
Il mio ragionamento è stato questo:
#prendo il primo carattere di ciascuna stringa e lo metto nel dizionario
#prendo il secondo carattere e aggiungo/incremento il dizionario
#prendo il terzo carattere e aggiungo/incremento il dizionario
#prendo il carattere più presente (se pari prendo quello maggiore)
e mi trovo in difficoltà dal punto di visto algoritmico. Ringrazio tutti in anticipo!
'''
Es 10: 3 punti
progettare la funzione es10(ftesto,k) che, presi in input
l'indirizzo di un file di testo ed un intero k, restituisce una stringa di caratteri lunga k.
Il file di testo contiene stringhe di diversa lunghezza
(una per riga ed ogni riga termina con '\n'), si guardi
ad esempio il file f9.txt.
I k caratteri della stringa restituita dalla funzione si ottiengono
considerando le stringhe lunghe k presenti nel file di testo.
L'i-mo carattere della stringa sara' il carattere che compare con maggior
frequenza come i-mo carattere delle stringhe lunghe k nel file di testo
(in caso di parita' di occorrenze viene scelto il carattere che precede
gli altri lessicograficamente).
Nel caso il file di testo non contenga parole lunghe k allora viene restituita
la stringa vuota.
Ad Esempio, per il file di testo f9.txt e k=3 la funzione restituisce la stringa 'are' a
seguito della presenza in f9.txt delle seguenti 4 stringhe lunghe 3:
tre
due
amo
ora
'''