From 96bd3867ae476c010e7aa094646be38b30e22558 Mon Sep 17 00:00:00 2001 From: klimyflorez Date: Mon, 17 Jul 2023 19:52:17 -0500 Subject: [PATCH] =?UTF-8?q?Reto=20#19=20-=20AN=C3=81LISIS=20DE=20TEXTO?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../python/klimyflorez.py" | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 "Retos/Reto #19 - AN\303\201LISIS DE TEXTO [Media]/python/klimyflorez.py" diff --git "a/Retos/Reto #19 - AN\303\201LISIS DE TEXTO [Media]/python/klimyflorez.py" "b/Retos/Reto #19 - AN\303\201LISIS DE TEXTO [Media]/python/klimyflorez.py" new file mode 100644 index 0000000000..0c0f0bf4eb --- /dev/null +++ "b/Retos/Reto #19 - AN\303\201LISIS DE TEXTO [Media]/python/klimyflorez.py" @@ -0,0 +1,38 @@ +''' +/* + * Crea un programa que analice texto y obtenga: + * - Número total de palabras. + * - Longitud media de las palabras. + * - Número de oraciones del texto (cada vez que aparecen un punto). + * - Encuentre la palabra más larga. + * + * Todo esto utilizando un único bucle. + */ +''' + +class CheckTexto: + def __init__(self, texto): + self.texto = texto + self.palabras = texto.split() + self.num_palabras = len(self.palabras) + self.longitud_total = sum(len(palabra) for palabra in self.palabras) + self.num_oraciones = texto.count('.') + self.palabra_mas_larga = max(self.palabras, key=len) + + def longitud_media(self): + return self.longitud_total / self.num_palabras + + def __str__(self): + return f"Número total de palabras: {self.num_palabras}\n" \ + f"Longitud media de las palabras: {self.longitud_media()}\n" \ + f"Número de oraciones del texto: {self.num_oraciones}\n" \ + f"Palabra más larga: {self.palabra_mas_larga}" + +texto = """La nave estelar USS Enterprise está bajo un gran reacondicionamiento y su excomandante, James T. Kirk, ha sido ascendido a Almirante y ahora es Jefe de Operaciones +de la Flota Estelar. Una poderosa fuerza alienígena, en forma de una masiva nube de energía con una longitud de 82 unidades astronómicas, es detectada en espacio Klingon y +parece dirigirse rumbo a la Tierra. A su paso, la nube destruye tres naves Klingons y la estación espacial de la flota Epsilon 9. Como única nave en rango del alcance, +la flota envía la Enterprise para interceptar la nube, acelerando su reacondicionamiento, el cual deberá ser probado en el transcurso de la misión asignada. +El Almirante Kirk toma el mando de la nave, lo cual disgusta al capitán Willard Decker, quien ha supervisado las mejoras como nuevo oficial. Con varios de los exmiembros +de la tripulación a bordo, la Enterprise inicia su viaje.""" +palabra = CheckTexto(texto) +print(palabra) \ No newline at end of file