Tetris con PyGame

Tetris con PyGame

…s developed using PyGame. Copyright (C) 2018 Recursos Python – recursospython*]}*.com. «»» from collections import OrderedDict import random from pygame import Rect import pygame import numpy as np WINDOW_WIDTH, WINDOW_HEIGHT = 500, 601 GRID_WIDTH, GRID_HEIGHT = 300, 600 TILE_SIZE = 30 def remove_empty_columns(arr, _x_offset=0, _keep_counting=True): «»» Remove empty columns from arr (i.e. those filled with zeros). The return value is (new_arr, x_offse

Tareas en segundo plano con Tcl/Tk (tkinter)

Tareas en segundo plano con Tcl/Tk (tkinter)

…abrir un archivo pesado del sistema, enviar un mail vía SMTP, ejecutar un comando vía subprocess, etc. Consideremos el siguiente código: import tkinter as tk from tkinter import ttk from urllib.request import urlopen def download_file(): info_label[«text»] = «Descargando archivo…» # Deshabilitar el botón mientras se descarga el archivo. download_button[«state»] = «disabled» url = «https://www.python.org/ftp/python/3.7.2/python-3.7.2.exe» filena…

El Zen de Python, por Tim Peters

…t’s do more of those! El cual decidí traducir al Español, resultando así: Bonito es mejor que feo. Explícito es mejor que implícito. Simple es mejor que complejo. Complejo es mejor que complicado. Plano es mejor que anidado. Disperso es mejor que denso. La legibilidad cuenta. Los casos especiales no son tan especiales como para romper las reglas. Aunque la practicidad vence a la pureza. Los errores nunca deberían pasarse por alto. A menos que esté…

Desarrollando una API REST con Twisted Klein

Desarrollando una API REST con Twisted Klein

…alación Antes de empezar, instalemos Klein vía pip: pip install klein Este comando instalará todas las dependencias, incluyendo Twisted y Werkzeug. Primeros pasos Bien, comenzaremos por definir la estructura básica de una aplicación de Klein, que correrá en la dirección local y en el puerto 7001. #!/usr/bin/env python # -*- coding: utf-8 -*- from klein import Klein class EmailService: app = Klein() if __name__ == ‘__main__’: emailservice = EmailSe…

Selector de color en PyQt 4

…- # # colorchooser.py # # Copyright 2014 Recursos Pythonwww.recursospython*]}*.com # from PyQt4.QtCore import QRect from PyQt4.QtGui import (QApplication, QGroupBox, QMainWindow, QLabel, QLineEdit, QWidget, QSlider) class Window(QMainWindow): def __init__(self): QMainWindow.__init__(self) # Título y tamaño de la ventana. self.setWindowTitle(«Selector de color») self.resize(320, 220) # Group box. self.color_group_box = QGroupBox(self) self.color_gro

Inyección SQL – Explotación automática con TheMole

…tos los datos anteriores, el programa se encargará, a partir de unos pocos comandos, de mostrarnos toda la información que solicitemos de la base de datos. Sin más preámbulos, pasemos a un ejemplo funcional. Ejemplos Escenario Lo primero que necesitamos es, lógicamente, una base de datos. En este artículo utilizaremos MySQL vía el módulo pymysql con Python 3, pero con unos pequeños cambios puedes adaptarlo a cualquiera de las mencionadas al comien…

Prueba unitaria (Unit testing)

…ste artículo trataremos los dos que se incluyen en la librería estándar: unit*]}*test y doctest. El primero es un tanto arcaico y derivado de otros lenguajes, aunque no menos eficiente. El segundo es tal vez más pythonico. Veremos las características generales de ambos y quédate con el que te sientas más a gusto. Para comenzar utilizaremos el siguiente módulo al que llamaré mymodule.py y que, por el momento, tendrá la siguiente función matemática. #!/

Usando el depurador (pdb)

…e incluye en la librería estándar: pdb. Existen otros depuradores para Python como Winpdb o aquellos incluidos en algunos entornos de desarrollo (Visual Studio, PyCharm) pero no serán tratados en este artículo. Por otro lado, el programa «objetivo» es un archivo de código de fuente de Python que queramos depurar. También podemos usar el depurador en la consola interactiva, como veremos más adelante. pdb provee dos formas para llevar a cabo una dep…

Barra de progreso (Progressbar) en Tcl/Tk (tkinter)

Barra de progreso (Progressbar) en Tcl/Tk (tkinter)

…main_window.geometry(«300×200») def download(self): # https://recursospython*]}*.com/codigos-de-fuente/inyector-de-dll-con-interfaz-grafica/ url = «https://www.recursospython*]}*.com/inyector-de-dll-exe.rar» urlretrieve(url, «inyector-de-dll-exe.rar», self.download_status) urlcleanup() def download_button_clicked(self): # Descargar el archivo en un nuevo hilo. Thread(target=self.download).start() def download_status(self, count, data_size, total_data): i

Google App Engine: desplegar aplicaciones web con web.py

…a cuota gratuita. Las cuentas premium permiten exceder la cuota gratuita abonando únicamente por lo que se utiliza. Registro GAE brinda espacio para 10 aplicaciones de forma gratuita. Para comenzar, debes crear una cuenta de Google (dirección de correo en Gmail) y acceder con ella en este enlace. Una vez registrado e ingresado, si nunca has trabajado con App Engine o no has creado ninguna aplicación deberías ver lo siguiente: Posteriormente retoma…