Ayer alguien me preguntó si se podía descargar un libro de texto gratuito de la página de CONALITEG (Comisión Nacional de Libros de Texto Gratuitos), así que le pedí que me enviara el enlace y al entrar vi que no es un PDF.
Al analizarlo vi que es una imagen que se muestra con magazine.js y que cada que pasas de página se carga una nueva imagen en el fondo (eso lo vi solo en un vistazo rápido, así que puede que esté equivocado en las librerías o esas cosas, aunque al final no importa):
Analizando libro de CONALITEG para descargar
Si te fijas, las páginas van en orden, es decir, va la 001, 002, etcétera hasta el final del libro.
Entonces pensé en una idea: hacer un script de Python que reciba el número de páginas del libro, la dirección del mismo y visite todas las páginas de las imágenes, las descargue una por una y después las convierta a PDF.
Para mi sorpresa el script funcionó como un encanto, y por eso te vengo a compartir cómo descargar esos libros y tal vez otros más que usen la misma tecnología.
Hoy vamos a resolver un ejercicio con Python en donde vamos a trabajar con diccionarios, archivos CSV y métodos de ordenamiento.
El ejercicio en cuestión dice así:
Se dispone de un CSV con información fiscal de una empresa en diferentes años. Dicha información corresponde a la facturación de la empresa por cada uno de los trimestres.
Se pide escribir en Python que:
Permita acceder a los datos de manera automatizada leyendo cada año y obtener la media de la facturación anual.
Permita escribir en un documento txt cada una de la información obtenida del apartado anterior escribiéndolo cronológicamente de mas antiguo a mas moderno.
En este post de programación en Python te mostraré un ejercicio resuelto que trata sobre las ventas y retiros que se realizan en un restaurante escribiendo órdenes para mostrar el saldo final al terminar el día.
Hoy vamos a ver un ejemplo simple con Python y los archivos CSV. Veremos cómo convertir un CSV a un arreglo.
Primero vamos a convertir cada columna del archivo a un diccionario de Python, y después vamos a agregar ese diccionario a nuestra lista.
En el ejemplo te mostraré cómo leer datos enteros y flotantes, así como cadenas. De este modo tú podrás leer cualquier archivo separado por comas para tenerlo como array en Python.
Nota: yo decidí usar un diccionario, tú podrías usar una lista de listas o cualquier otra cosa.
En este post te mostraré el código fuente del juego conecta 4 (Connect 4) programado con Python, además de explicarte cómo es que ha sido programado y cómo funciona.
Te cuento que éste fue el programa que inspiró a programar el mismo juego en C, C sharp y JavaScript (mismos que encuentras en mi blog); ya que alguien me pidió programarlo en Python pero como no pude publicarlo antes mejor decidí hacerlo en C y luego en sus otras versiones.
El tiempo ha pasado y ahora ya puedo publicar este proyecto de Conecta 4 en Python con todo su código fuente.
Hoy vamos a ver un juego programado en Python sin usar librerías para el funcionamiento del mismo.
Se trata del juego Battleship, juego de los barquitos, hundir la flota, hundiendo barquitos o también llamado Batalla Naval programado totalmente en Python. Los requisitos del juego los veremos a continuación.
En este post te mostraré cómo programarlo, cómo jugarlo y dónde descargar el código fuente.
Hoy vamos a ver cómo implementar el ordenamiento por mezcla o merge sort en Python. Básicamente este algoritmo nos va a servir para ordenar un arreglo de cualquier tipo (suponiendo que los valores son comparables).
Hay varios enfoques para este algoritmo; algunos usan una función y otros usan 2. Yo usaré éste último enfoque pues todo queda más claro.
Por cierto, también usaremos la recursividad, ya que es un aspecto clave al momento de ordenar un array con merge sort en Python.
En este artículo te mostraré cómo manipular imágenes con Python, aplicarle algunos filtros y transformarlas. Lo que te enseñaré será:
Aplicar filtro de escala de grises y sepia
Voltear una imagen horizontalmente, como si fuera reflejada en un espejo
Desenfocar una imagen usando el desenfoque de caja
Todo esto con Python, escribiendo los algoritmos manualmente sin depender de una librería. Eso sí, para leer la imagen como matriz vamos a usar imageio.
Ya que andamos por aquí te recuerdo que también tengo un post en donde expliqué cómo ocultar texto en imágenes.
En el artículo de hoy te voy a enseñar a difuminar una imagen aplicando el desenfoque de caja con Python. Vamos a leer la imagen como una matriz e ir modificando cada pixel.
El desenfoque de caja se logra tomando los pixeles vecinos del pixel en cuestión, tomando los RGB de cada uno y promediándolos.
Con “pixeles vecinos” me refiero al pixel que está arriba, abajo, a la derecha, a la izquierda, y en las 4 diagonales posibles.
Al final podremos implementar el desenfoque de caja o box blur en Python manualmente sin usar librerías.
En este post de trabajo con imágenes en Python te mostraré cómo aplicar un reflejo horizontal a una imagen, de modo que podamos voltear la imagen de manera horizontal. Para ello vamos a trabajar con los pixeles de la imagen.
La asignación dice así:
Con este filtro queremos lograr el mismo resultado que un espejo, por lo que cualquier píxel ubicado al izquierdo ahora deberá estar en el derecho y viceversa. Se mantendrán todos los píxeles originales, solo que están organizados de manera diferente.
Entonces veamos cómo hacerlo usando Python, numpy e imageio.
En este post de programación en Python vamos a resolver un ejercicio que gestiona algo así como una tienda, en donde se registran artículos y se realizan ventas; todo esto usando listas o arreglos.
Esto que te muestro es un ejercicio básico de programación en Python, pero de igual modo es útil para los que están aprendiendo Python y quieren mejorar sus habilidades.
La propuesta dice:
Realizar un programa en Python para llevar la gestión de los precios de los artículos de una tienda, así como la cantidad vendida en total de cada artículo para lo cual, habrá que tener 3 vectores.
Nombres: guardará los nombres de los artículos
Precios: guardará los precios de los artículos
Cantidades vendidas: guardará la cantidad vendida en total de cada artículo
Además, este programa debe implementar las siguientes opciones que van a mostrarse en un menú:
Introducir un artículo nuevo – Registrar un nuevo artículo con nombre y precio
Hacer una venta – Solicitar nombre de producto y cantidad a vender
Mostrar información – Mostrar nombre, precio, cantidad vendida e importe de los artículos, además del total
Borrar un artículo
Borrar todos los artículos
Salir
Obviamente cada para opción mencionada se debe programar el funcionamiento. Veamos entonces cómo se resuelve este ejercicio de programación.