python

Anagrama en Python

En este post de programación en Python vamos a resolver un ejercicio para saber si dos cadenas son anagramas, o mejor dicho, si una cadena es anagrama de otra.

Recuerda que una palabra es anagrama de otra si ambas tienen las mismas letras pero ordenadas de distinta manera. Por ejemplo, Hola y Aloh son anagramas pues aunque tienen distinto orden ambas tienen 4 letras que son las mismas.

En este caso estamos suponiendo que las mayúsculas y minúsculas no importan, ya que normalmente los anagramas no toman en cuenta eso.

Algoritmo general

Lo que vamos a hacer será transformaciones a las cadenas y comparaciones de las mismas. Esto es realmente sencillo. Veamos el proceso:

  1. Convertir ambas palabras a minúsculas
  2. Después, convertir las palabras (que son cadenas) a arreglos
  3. Una vez que ambas cadenas son arreglos, los ordenamos
  4. Convertimos de nuevo los arreglos cadenas. En este punto ambas cadenas ya están ordenadas alfabéticamente y en minúsculas.
  5. Si ambas cadenas son iguales, decimos que una palabra es anagrama de la otra.

Veamos ahora un ejemplo del funcionamiento del algoritmo. Vamos a comparar la palabra Nacionalista y Altisonancia. Primero convertimos ambas a minúsculas: nacionalista y altisonancia.

Después, las ordenamos. nacionalista se convierte en aaaciilnnost y altisonancia en aaaciilnnost.

Finalmente comparamos las cadenas. En este caso son iguales, así que se dice que una palabra es anagrama de la otra. Si no lo son, entonces la cadena no es anagrama de la otra.

Código fuente en Python para anagrama

Ya he explicado el funcionamiento. Ahora veamos el código. He encerrado todo en una función para que sea más fácil de invocar.

See the gist on github.

Los comentarios explican el comportamiento del método. El modo de uso es invocarlo con dos cadenas, para que devuelva un booleano.

Poniendo todo junto

Ahora te mostraré un ejemplo de uso de la función:

See the gist on github.

Como puedes ver estamos probando la función de anagrama de dos maneras. En el primer caso es con palabras proporcionadas por el programador, y en el segundo caso por el usuario.

La ejecución es:

Anagrama en Python

Puedes probarla por ti mismo en este enlace. También puedes leer más sobre Python aquí.

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

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…

1 día hace

JavaScript (lado del cliente): leer pixeles de imagen

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

1 semana hace

PHP y JavaScript: llenar select con AJAX

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

1 semana hace

Imprimir PDF generado con HTML

Hoy vamos a ver programar la impresión de un PDF generado a partir de HTML…

1 semana hace

JavaScript: llenar select con arreglo

En este tutorial básico de JavaScript con HTML vamos a ver cómo llenar una lista…

2 semanas hace

Imprimir PDF a partir de URL

En este artículo se presenta una guía para imprimir un PDF a partir de una…

2 semanas hace

Esta web usa cookies.