Hoy el
blog va a tomar un giro un poco diferente pero este post va
relacionado con la carrera que curso, la Licenciatura en Historia.
Llegando hoy a clase de México Prehispánico con la Profesora Carmen
Molina tuvimos la oportunidad de aprender acerca de la cuenta larga
Maya, un tanto complicada pero sorprendente para una civilización
prehispánica o “primitiva”, que de primitiva no tiene
absolutamente nada, que me hace compararla incluso con lo que hoy
conocemos como código binario.
El
concepto funciona de la siguiente manera.
Los
Mayas usaban múltiplos de 20, de hecho un año tenia 360 días por
lo que tenia 18 meses de 20 días, mas 5 días de augurios, lo cual
nos da un sorprendente total de 365 días, cosa mas que fascinante,
nuevamente, para una cultura que existió hace siglos en el área de
la península de Yucatan y Guatemala, al igual que otros fragmentos
perdidos por ahí en ese segmento.
Mientras
se nos explicaba la cuenta larga me di cuenta que sacar la cantidad
es un tanto complicado a mano o calculadora, puede fallar, por lo que
me di a la tarea de generar un pequeño pedazo de código en Python,
un lenguaje de script que no ocupa compilarse, para correr la cuenta
larga y obtener la fecha en el calendario gregoriano. El código lo
libero bajo la GPL y espero que le sirva a quien quiera que lo
encuentre.
¡Saludos
y animo que existe todavía mucho camino por recorrer!
Nota:
Para usar este script se ocupa tener instalado Python2.6 o 2.7, de
hecho no importa mucho la versión, pero que este disponible y listo
en la maquina. El archivo puede ser guardado con el nombre que gusten
e incluso aunque no se corra directo de la consola debe funcionar
aunque el resultado, si se corre desde Windows, puede desaparecer una
vez que se termine de hacer la suma. De igual manera se incluyo un
ligero stop por medio de un raw_input para dar tiempo de analizarlo,
adicionalmente los comentario explican que es cada cosa. El script
puede ser copiado así como se muestra y ser pegado en un notepad o
cualquier parecido y debería funcionar como tal aunque no se da
ninguna garantía por aquello de problemas de compatibilidad pero con
todo gusto se me puede hacer saber cualquier problema y tratare de
ayudar a solucionarlo. Como nota final solo hay que salvarlo con la
terminación .py para que el interprete de Python lo corra como debe
ser.
El archivo puede ser nombrado como sea, en este caso lo nombre cuentalarga.py
- def cuenta_larga():
- print """
- Este script calcula la cuenta larga Maya y la convierte al Gregoriano.
- Es un aproximado que da unicamente el anyo, no da mes ni dia.
- Dentro del codigo se contiene el comentario de como funciona el codigo.
- """
- baktun = input("Baktun: ")
- katun = input("Katun: ")
- tun = input("Tun: ")
- uinal = input("Uinal: ")
- kin = input("Kin: ")
- baktun = baktun*144000
- katun = katun*7200
- tun = tun*360
- uinal = uinal*20
- kin = kin
- # Las cantidades manejadas son dias, un baktun es 144000 dias, un katun es 7200,
- # un tun 360, un uinal es 20 y los kin son unidades individuales. Todas estas se
- # suman bajo la variable de gTotal para despues ser dividas entre 365, que es la
- # cantidad de dias que tiene un anyo comun, para asi generar una cantidad en
- # anyos gregorianos que despues se resta contra 3115, que es la epoca de la
- # antiguedad Maya. En teoria una vez que sale el numero si genera un numero
- # negativo, es decir marca -X este tendra el signo de menos removido y en lugar
- # de marcar d.e.C. marcara a.e.C. como debe corresponder por ser previo a la
- # epoca que nosotros demarcamos como la era Comun.
- gTotal = baktun+katun+tun+uinal+kin
- print gTotal
- gregoriano = gTotal / 365
- print gregoriano
- maya = gregoriano - 3115
- if "-" in str(maya):
- a = str(maya)
- final = a.replace("-","")
- print final, "a.C."
- else:
- print maya, "d.C."
- stop = raw_input("Presiona cualquier tecla para terminar...")
- cuenta_larga()
No comments:
Post a Comment