martes, 16 de octubre de 2012

Utilidad: ¿Necesitas imprimir dos páginas por hoja a dos caras?

En estos días necesitaba imprimir un artículo suficientemente voluminoso como para pensar imprimir dos páginas por hoja, pero a su vez, no quería gastar mas hojas de las necesarias (hay que ahorrar, la naturaleza lo agradecerá). Pues bien, escribí un pequeño código para separar las páginas de manera que 1,2 quedarán en la primera página, 2,3 en la otra cara, 5,6 en la segunda página, 7,8 en la otra cara, y así sucesivamente. Como mi impresora no imprime a dos caras, tuve que imprimir primero una lista y luego la otra.

Para ello necesitaría dos sucesiones, una que me imprimiera las caras frontales, y la otra que hiciera el trabajo con las traseras. A continuación dejo el código, las matemáticas detrás de este son tan básicas que no vale la pena explicarlas :-)

 # -*- coding: utf-8 -*-
"""
@author: Alejandro Alvarez
"""

NPAG=200 # Número de páginas

I1=[]
I2=[]
for n in range(int(NPAG/4.0)):
    I1.append(4*n+1)
    I1.append(4*n+2)
    I2.append(4*n+3)
    I2.append(4*n+4)

print "Primera Impresion:"
print I1
print
print
print "Segunda Impresion:"
print I2

El código corriendo en spyder:


Espero que les sea de utilidad.

Nota corta: Una guía de programación orientada a objetos con Python

Buscando información sobre el uso de distintos paradigmas para simplificar mi vida como programador me encontré con el siguiente mini-tutorial, el cual considero bastante bueno como para recomendarlo.



Version Online
Version en PDF


Espero que lo disfruten.