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.