Cantidad de veces que aparece letra con porcentaje en Python - Programación

Python: conteo y porcentaje de letras en cadena

Hoy vamos a ver un ejercicio de programación en Python sobre conteo de letras en una cadena.

Lo que tenemos que hacer es contar cuántas veces aparece una letra en una cadena y luego mostrar la letra, un asterisco por cada ocurrencia y el porcentaje que ocupa esa letra dentro de la cadena.

Por poner un ejemplo, al invocar a la función como se ve a continuación:

La salida sería la siguiente:

Si te fijas, también cuenta cuántas veces aparece el carácter del espacio, dos puntos, barra, etcétera. Muestra el conteo de las letras junto con su porcentaje y una cantidad de asteriscos.

Explicación del algoritmo

Contando letras

Para contar el porcentaje de aparición de letras en una cadena con Python vamos a usar un diccionario, usando la letra como clave. Entonces la clave será la letra, y el valor será otro diccionario que tendrá el conteo.

Recorremos la cadena o frase letra por letra. En cada iteración comprobamos si el carácter existe en el diccionario; en caso de que no entonces lo agregamos con un conteo de 0 por defecto.

Después de hacer la comparación anterior aumentamos el conteo del diccionario en esa clave. Básicamente si la letra no existe la agregamos, y si existe le aumentamos el conteo.

Calculando porcentaje

Hasta ahora ya tenemos el diccionario con cada letra y la cantidad de veces que aparece. Lo que haremos a continuación será recorrer el diccionario y calcular el porcentaje.

La fórmula es:

Porcentaje = (cantidad de veces que aparece la letra * 100) / cantidad total de letras

Finalmente el diccionario tendrá como clave la letra, y como valor el conteo y porcentaje. Ya solo falta imprimir.

Porcentaje de ocurrencia de letras en frase con Python

Es momento de pasar al código. Es importante mencionar que la función puede ser modificada a tu gusto, y que por ejemplo podrías hacer que solo devuelva el diccionario para que lo imprimas en otro lugar.

Comenzamos contando las letras:

Después recorremos el diccionario y vamos calculando el porcentaje que representa la letra:

Finalmente volvemos a iterar el diccionario e imprimimos lo que el ejercicio requiere. Por cierto, para imprimir los asteriscos simplemente hacemos un ciclo for e imprimimos un asterisco indicando el end en "" para que no imprima salto de línea.

Nota: estoy usando round para redondear el porcentaje. Puedes modificarlo si quieres mostrarlo completo o con más decimales.

Poniendo todo junto

Cantidad de veces que aparece letra con porcentaje en Python - Programación
Cantidad de veces que aparece letra con porcentaje en Python – Programación

La función y su modo de uso queda así:

De este modo podemos contar la cantidad de veces que aparece una letra en una oración, indicar ese conteo con asteriscos y también mostrar el porcentaje.

Si quieres aprender Python te recomiendo leer otras entradas de este lenguaje en mi blog.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario