python

Pangrama en Python

Hoy veremos cómo saber si una cadena u oración es un pangrama en Python.

Un pangrama es un texto que usa todas las letras posibles del alfabeto de un idioma.

Voy a explicar dos maneras de saber si una cadena es un pangrama usando Python; la primera forma recorre el alfabeto y comprueba si cada letra está dentro de la cadena, en caso de que todas las letras estén dentro de la cadena, se dice que sí es pangrama.

El segundo método utiliza conjuntos (tutorial aquí), comparando si todos los elementos del alfabeto están dentro del conjunto de la cadena.

Nota: este es un ejercicio de Codewars.

El alfabeto

Como hablamos español, vamos a añadirle la letra ñ al alfabeto que nos da string.ascii_lowercase; si no quieres que soporte el español, simplemente no agregues la ñ.

Por otro lado, vamos a convertir la cadena a minúscula para poder comparar bien con el alfabeto que ya estará en minúscula.

Pangrama en Python: recorriendo alfabeto

Este enfoque es sencillo. Recorremos todo el alfabeto letra por letra (o sea, primero la a, luego la b y así, sin importar el orden) y vamos comprobando que cada letra esté en la cadena que estamos probando.

Puse todo en una función llamada es_pangrama y queda como se ve a continuación:

See the gist on github.

Si dentro del ciclo la letra no está, sabemos de una vez que la cadena no es un pangrama porque no tiene una letra del alfabeto.

Al terminar el ciclo, si no salimos antes, entonces significa que todas las letras del alfabeto estuvieron; por lo tanto regresamos True.

Pangrama usando conjuntos en Python

Ahora veamos el método “complejo“. Este no lleva mucha explicación, creamos dos conjuntos, uno de la cadena y otro del alfabeto, y comprobamos que todos los elementos del alfabeto estén dentro del conjunto de la cadena.

See the gist on github.

También incluí (como en el primer ejemplo) la forma de probarlo con unas cadenas que he tomado de la Wikipedia.

Probar ejemplos

Eres libre de descargar los ejemplos y probarlos ya sea en Windows o Android. También te dejo un enlace para que los pruebes en línea:

  1. Pangrama con ciclo
  2. Pangrama con conjuntos

Te invito a leer más sobre Python 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.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

3 días hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

4 días hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

4 días hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

5 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

2 semanas hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

2 semanas hace

Esta web usa cookies.