PythonLección 16 de 16
Proyecto final: estadísticas de un texto en Python
Toca juntarlo todo. Vas a escribir un programa que lee la reseña de una cafetería y averigua qué palabras se repiten más.
Lo esencial
- lower() y replace() limpian el texto; split() lo corta en palabras
- Un diccionario es un contador perfecto: counts[word] = counts.get(word, 0) + 1
- sorted(..., key=función) ordena según lo que devuelve la función
- El signo menos delante de count pone primero los números altos; la palabra desempata
- top[:3] es un corte con los tres primeros pares
Ejemplo
text = "Hello, hello world!"clean = text.lower().replace(",", "").replace("!", "")words = clean.split()print(words) counts = {}for word in words: counts[word] = counts.get(word, 0) + 1print(counts)Sin signos de puntuación y todo en minúsculas, el diccionario contó cada palabra. hello aparece dos veces aunque una llevaba mayúscula.
Tarea
Cómo usar el editor⌘ Enter o Ctrl Enter ejecuta el código, ⇧ ⌘ Enter comprueba la tarea.Tab y Mayús Tab sangran la línea o la selección; Esc y luego Tab sale del editor.La comprobación compara lo que imprimió el programa con la tarea; los espacios al final de línea no cuentan.Tras dos comprobaciones fallidas puedes ver la solución. Tu código se guarda en este navegador.Completa el programa: count_words debe devolver un diccionario con cada palabra y las veces que aparece, y al final imprime las tres más frecuentes con el formato coffee: 3.
Salida
Aquí aparecerá lo que imprima el programa.