L'esercizio è questo:
"Scrivete un programma che legga il file words.txt e stampi solo le parole composte
da almeno 20 caratteri (caratteri spaziatori esclusi)."
facendo riferimento ad un file contenente 113783 parole che ho scaricato online.
una soluzione a cui ho pensato è questa:
e sembra funzionare se non per qualche piccolo difetto; infatti non capisco il motivo per cui non considera la prima riga del file words.txt e quindi non considera la prima parola e inoltre mi stampa parole anche di lunghezza 19 nonostante io abbia scritto di considerare le parole con len() >= 20.
Qualcuno che può aiutarmi a capire il perchè di questi comportamenti?
grazie in anticipo.
"Scrivete un programma che legga il file words.txt e stampi solo le parole composte
da almeno 20 caratteri (caratteri spaziatori esclusi)."
facendo riferimento ad un file contenente 113783 parole che ho scaricato online.
una soluzione a cui ho pensato è questa:
Python:
def caratteri20():
fin=open('words.txt')
riga=fin.readline()
parola=riga.strip()
for parola in fin:
if len(parola)>=20:
print(parola)
caratteri20()
e sembra funzionare se non per qualche piccolo difetto; infatti non capisco il motivo per cui non considera la prima riga del file words.txt e quindi non considera la prima parola e inoltre mi stampa parole anche di lunghezza 19 nonostante io abbia scritto di considerare le parole con len() >= 20.
Qualcuno che può aiutarmi a capire il perchè di questi comportamenti?
grazie in anticipo.