📅  最后修改于: 2023-12-03 15:18:51.770000             🧑  作者: Mango
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.
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.")
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!