📜  Python - Cómo comprobar si dos cuerdas son anagramas - Python (1)

📅  最后修改于: 2023-12-03 15:18:51.770000             🧑  作者: Mango

Python - Cómo comprobar si dos cuerdas son anagramas - Python

En este tutorial, aprenderemos cómo verificar si dos cuerdas son anagramas en Python. Un anagrama es una palabra o frase formada mediante el reordenamiento de las letras de otra palabra o frase. Por ejemplo, "roma" y "amor" son anagramas.

Solución 1: Verificando la igualdad de las listas ordenadas

Una forma sencilla de verificar si dos cuerdas son anagramas es ordenar las letras de ambas cuerdas y luego comparar las listas resultantes.

def son_anagramas(cuerda1, cuerda2):
    # Convierte las cuerdas en listas de caracteres
    lista_cuerda1 = list(cuerda1)
    lista_cuerda2 = list(cuerda2)

    # Ordena las listas de caracteres
    lista_cuerda1.sort()
    lista_cuerda2.sort()

    # Verifica si las listas ordenadas son iguales
    if lista_cuerda1 == lista_cuerda2:
        return True
    else:
        return False

# Ejemplo de uso
cuerda1 = "roma"
cuerda2 = "amor"

if son_anagramas(cuerda1, cuerda2):
    print("Las cuerdas son anagramas.")
else:
    print("Las cuerdas no son anagramas.")
Solución 2: Utilizando un diccionario para contar las letras

Otra forma de verificar si dos cuerdas son anagramas es contar la frecuencia de las letras en ambas cuerdas utilizando un diccionario.

def son_anagramas(cuerda1, cuerda2):
    # Crea un diccionario para almacenar las frecuencias de las letras
    frecuencias_cuerda1 = {}
    frecuencias_cuerda2 = {}

    # Cuenta las frecuencias de las letras en cuerda1
    for letra in cuerda1:
        if letra in frecuencias_cuerda1:
            frecuencias_cuerda1[letra] += 1
        else:
            frecuencias_cuerda1[letra] = 1

    # Cuenta las frecuencias de las letras en cuerda2
    for letra in cuerda2:
        if letra in frecuencias_cuerda2:
            frecuencias_cuerda2[letra] += 1
        else:
            frecuencias_cuerda2[letra] = 1

    # Compara los diccionarios de frecuencias
    if frecuencias_cuerda1 == frecuencias_cuerda2:
        return True
    else:
        return False

# Ejemplo de uso
cuerda1 = "roma"
cuerda2 = "amor"

if son_anagramas(cuerda1, cuerda2):
    print("Las cuerdas son anagramas.")
else:
    print("Las cuerdas no son anagramas.")

Estas son dos formas simples de verificar si dos cuerdas son anagramas en Python. Puedes elegir la solución que mejor se adapte a tus necesidades y requisitos. ¡Diviértete codificando!