Click en el botón para agregar +1 a "Las Preguntas De Guido"

viernes, 29 de junio de 2018

Palabras con todas las vocales (español)

Desde la base de datos "CREA" (Corpus de Referencia del Español Actual):

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

2 comentarios:

  1. 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

    ResponderEliminar

Dejame tu comentario acá abajo!

¡Me gusta que me dejen comentarios!

Para poner uno, escribí tu mensaje en el cuadrado blanco y elegí en el menú desplegable como quién querés publicar el comentario. Si no tenés ninguna cuenta, poné Nombre/URL o Anónimo. ¡GRACIAS!
(Por favor sin malas palabras o el comentario será borrado)


Lo digo en serio...


YO ENSERIO - TU ENSERIAS - ÉL ENSERIA - NOSOTROS ENSERIAMOS - USTEDES ENSERIAN - VOSOTROS ENSERIÁIS - ELLOS ENSERIAN