¡Buenos días!

Ayer en la tarde/noche me puse a buscar algunos pasatiempos para pasar un buen rato, entre tanta búsqueda (poco satisfactoria) me topé con algunos un tanto peculiares, mejor conocidos como Anagramas. Realmente me llamaron la atención pues, además de ser divertidos se me ocurrió una idea un tanto extraña, era hacer una aplicación (script) en Python para jugar con ellos.

Fue así como buscar un pasatiempo se convirtió en programar una aplicación que tuviese anagramas. Dando como resultado el siguiente código (se puede descargar directamente el .py):

# -*- coding: utf-8 -*-
# Anagramas
# Creado por .:WindHack:.
# DaW - Labs & Cibernodo
from random import randrange
 
# Palabras...
Words = ['daw-labs','cibernodo','programacion',
         'seguridad','pentesting','informatica',
         'ingenieria','criptografia','redes',
         'python','sistemas']
 
# Palabras mezcladas...
ScrambledWords = ['wlas-bad','redcinobo','maprogrionac',
                  'gudarised','gintestpen','catamiforin',
                  'geeninriai','cartogripfia','serde',
                  'yothnp','massiste']
 
# Clase del Anagrama...
class Anagram:
    # Obtiene el tamaño...
    def GetSize(self):
        sSize = 0
        for i in Words:
            sSize += 1
        return sSize # O len(Words)...
 
    # Obtiene la palabra...
    def GetWord(self,iWord):
        return Words[iWord]
 
    # Obtiene la palabra mezclada...
    def GetScrambledWord(self,iWord):
        return ScrambledWords[iWord]
 
    # Comprueba si es correcta...
    def IsCorrect(self,iWord,sGuess):
        if (sGuess == self.GetWord(iWord)):
            return True
        else:
            return False
 
# Función principal...
def __main__():
    Game = Anagram()
    iTrys = 0
    rWord = randrange(0,Game.GetSize())
    print '''
    Anagramas...
    © 2010. DaW - Labs & Cibernodo.
    Palabra: %s
    ''' % Game.GetScrambledWord(rWord)
    while True:
        uGuess = raw_input('Intento: ')
        if Game.IsCorrect(rWord,uGuess):
            print '''
            Correcto. ¡Felicitaciones!
            Número de intentos: %i
                  ''' % iTrys
            exit()
        else:
            print 'Incorrecto. Intenta de nuevo.\n'
            iTrys += 1
 
if __name__ == '__main__':
    __main__()

Y aquí está en pleno funcionamiento…