Anagramas


Descripción

Dos palabras son anagramas si es posible reorganizar las letras de una para formar la otra. Por ejemplo, la palabra en inglés tops es anagrama de stop.

Una forma de verificar si dos palabras son anagramas es ordenar las letras en ambas palabras. Si ambas listas de las letras contienen las palabras en el mismo orden, las palabras son anagramas.

Escribe una función llamada is_anagram que tome dos cadenas y devuelva True si son anagramas.

Usando tu función y las palabras del archivo words.txt, encuentra todos los anagramas de la palabra takes

Ejemplo de Ejecución:

>> is_anagram.py
skate
stake
steak
takes
teaks

Solución

Mostrar solución
def is_anagram(word1, word2):
  word1 = sorted(word1.lower())
  word2 = sorted(word2.lower())
  return word1 == word2

target_word = 'takes'
with open('/content/drive/MyDrive/words.txt') as f:
  for word in f:
    if is_anagram(target_word, word.strip()):
      print(word.strip())

Probar solución en Google Colab

Fuente del ejercicio: https://allendowney.github.io/ThinkPython/chap09.html#exercise