import csv
def allvowels():
with open('CREA_total.TXT', encoding="latin-1") as txtfile:
archivo = open("allvowels.txt", "r+", encoding="latin-1")
reader = csv.reader(txtfile, delimiter='\t')
for row in reader:
if((row[1].count("a") >= 1 or row[1].count("á") >= 1) and
(row[1].count("e") >= 1 or row[1].count("é") >= 1) and
(row[1].count("i") >= 1 or row[1].count("í") >= 1) and
(row[1].count("o") >= 1 or row[1].count("ó") >= 1) and
(row[1].count("u") >= 1 or row[1].count("ú") >= 1)):
archivo.write(row[1]+"\n")
count = 0
def allvowelscount():
global count
with open('CREA_total.TXT', encoding="latin-1") as txtfile:
reader = csv.reader(txtfile, delimiter='\t')
for row in reader:
if((row[1].count("a") >= 1 or row[1].count("á") >= 1) and
(row[1].count("e") >= 1 or row[1].count("é") >= 1) and
(row[1].count("i") >= 1 or row[1].count("í") >= 1) and
(row[1].count("o") >= 1 or row[1].count("ó") >= 1) and
(row[1].count("u") >= 1 or row[1].count("ú") >= 1)):
count = count+1
return count
allvowels() #guarda todas las palabras en un archivo
print(allvowelscount()) #17418 palabras
Genera el siguiente archivo (con las 17418 palabras en español que tienen todas las vocales al menos una vez).
Ver archivo.
Por alguna razón hay palabras como "alegreschicasenbuscasdesensacio", y cosas por el estilo... Falta de la RAE y no mía, esta vez.
Las 20 y pico palabras más largas son:
largas = []
pentavocalicas = []
lenwords = []
index = 0
def allvowelslongest(n):
global largas
global pentavocalicas
global lenwords
global index
with open('CREA_total.TXT', encoding="latin-1") as txtfile:
reader = csv.reader(txtfile, delimiter='\t')
for row in reader:
if((row[1].count("a") >= 1 or row[1].count("á") >= 1) and
(row[1].count("e") >= 1 or row[1].count("é") >= 1) and
(row[1].count("i") >= 1 or row[1].count("í") >= 1) and
(row[1].count("o") >= 1 or row[1].count("ó") >= 1) and
(row[1].count("u") >= 1 or row[1].count("ú") >= 1)):
pentavocalicas.append(row[1])
for word in pentavocalicas:
if(len(word) > 25):
lenwords.append(0)
else:
lenwords.append(len(word))
for i in range(0,n+1):
index = lenwords.index(max(lenwords))
largas.append(pentavocalicas[index])
lenwords.pop(index)
pentavocalicas.pop(index)
index = 0
print(largas)
allvowelslongest(20)
Entrega la siguiente lista:
['neuromusculoesquelética ', 'universidadcontralaguerra', 'adenofaringoconjuntivales', 'centroestudioscervantinos', 'consecuenciasaparecerán ', 'democráticorevolucionario', 'desgubernamentalización ', 'desoxirribonucleoproteína', 'escapuloclaviculohumeral ', 'glutamatodeshidrogenasa ', 'metabemoglobinreductasa ', 'neuropsicoendocrinopatía ', 'seudoinstitucionalización', 'suecoasioafroamericanos ', 'traerunacosaenlasmientes ', 'triflourometanolsulfónico', 'trimetoprimsulfametoxazol', 'usernamemisdocumentos ', 'vicohistóricaribonucleica', 'vuelvoenseguidapuedeirse ', 'oculovestibulocefalogiro']
De la que solo las palabras neuromusculoesquelética, adenofaringoconjuntivales, democráticorevolucionario, desgubernamentalización, desoxirribonucleoproteína, escapuloclaviculohumeral, glumatodeshidrogenasa, metabemoglobinreductasa, neuropsicoendocrinopatía, seudiinstitucionalización, suecoasioafroamericanos, triflourometanolsulfónico, trimetoprimsulfametoxazol y oculovestíbulocefalogiro suenan como palabras "verosímiles"... El resto son erorres raros, como "vuelvoenseguidapuedeirse"... RAE loca
Nada, estaba al repedo y quise averiguar esas cosas.
<<<neuropsicoendocrinopatía>>> es buenisimo eso
Hay un error, separé las palabras por el caracter "\t" que es simplemente un "tab" o "shift"... Debería haber usado el caracter " " o "espacio"... Pero ahora ni ganas de editarlo muejej
ResponderEliminarxd
ResponderEliminar