Promedio de descarga/visualización de los códigos de Python

Listado de los códigos con más promedio de visualizaciones realizadas por día desde su publicación en la web.
sin imagen de perfil

Calculadora


67 visualizaciones de promedio por día

Python

estrellaestrellaestrellaestrellaestrella(46)
Publicado el 14 de Junio del 2015 por Alexander (3 códigos)
244.268 visualizaciones desde el 14 de Junio del 2015
Una calculadora creado con python
Imágen de perfil
Val: 666
Bronce
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Calcular el factorial de un número en Python


46 visualizaciones de promedio por día

Python

estrellaestrellaestrellaestrellaestrella(27)
Actualizado el 6 de Abril del 2016 por Xavi (548 códigos) (Publicado el 29 de Septiembre del 2013)
197.572 visualizaciones desde el 29 de Septiembre del 2013
Simple código que muestra como calcular el factorial de un número utilizando una función recursiva.
Imágen de perfil
Val: 712
Bronce
Ha aumentado 1 puesto en Python (en relación al último mes)
Gráfica de Python
Actualizado

Visor interactivo de modelos 3D


42 visualizaciones de promedio por día

Python

Actualizado el 13 de Junio del 2025 por Antonio (77 códigos) (Publicado el 7 de Febrero del 2025)
5.353 visualizaciones desde el 7 de Febrero del 2025
Este programa es un visor de modelos 3D en formato `.obj` que utiliza `OpenGL` y `pygame` para renderizar y manipular objetos 3D. Ofrece varias funciones de visualización como rotación, zoom, traslación, cambio entre vista en perspectiva y vista ortográfica, y otras acciones útiles para examinar el modelo cargado.

### Principales funciones del programa:

1. **Carga de modelo `.obj`:** El archivo `.obj` se especifica a través de un argumento y se carga mostrando los vértices, aristas y caras del modelo.
2. **Visualización en 3D:** Permite cambiar entre vista ortográfica y perspectiva.
3. **Rotación del modelo:** Utiliza cuaterniones para rotar el modelo sobre cualquier eje.
4. **Zoom y traslación:** Posibilidad de hacer zoom y mover el modelo en la pantalla.
5. **Información en pantalla:** Se puede mostrar/ocultar información como el nombre del modelo, escala, número de vértices, aristas y caras.

### Comandos principales:

- **Flechas del teclado:** Rotan el modelo en diferentes direcciones.
- **Tecla 'R':** Reinicia la rotación y escala del modelo.
- **Teclas 'M' y 'N':** Rotación en sentido horario y antihorario sobre el eje Z.
- **Tecla 'P':** Alterna entre vista en perspectiva y ortográfica.
- **Tecla 'X' y 'Z':** Zoom in y Zoom out, respectivamente.
- **Mouse:** Arrastrar con el clic izquierdo para mover la escena y usar la rueda del ratón para hacer zoom.
- **Tecla 'H':** Mostrar/ocultar la información en pantalla.
- **Tecla 'ESC':** Cierra el programa.
ov1
ov2
ship

Para cualquier duda u observación, usen la sección de comentarios.
Imágen de perfil
Val: 666
Bronce
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Determinar si un número es primo o no


40 visualizaciones de promedio por día

Python

estrellaestrellaestrellaestrellaestrella(17)
Actualizado el 21 de Marzo del 2020 por Xavi (548 códigos) (Publicado el 29 de Junio del 2013)
176.586 visualizaciones desde el 29 de Junio del 2013
Simple función que recibe un número entero entrado por el usuario y determina si ese valor es primo o no.
Imágen de perfil
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Calcular los múltiplos de 3 y 5


31 visualizaciones de promedio por día

Python

estrellaestrellaestrellaestrellaestrella(4)
Actualizado el 10 de Mayo del 2021 por Xve (294 códigos) (Publicado el 26 de Febrero del 2015)
117.036 visualizaciones desde el 26 de Febrero del 2015
Ejemplo que muestra como calcular los múltiplos de un número dado utilizando el resto de una división.
Para este ejemplo, se devuelven los múltiplos de 3 y 5 de entre los números 1 y 100
Imágen de perfil
Val: 712
Bronce
Ha aumentado 1 puesto en Python (en relación al último mes)
Gráfica de Python
Actualizado

Generador de gifs a partir de video (nueva version)


27 visualizaciones de promedio por día

Python

estrellaestrellaestrellaestrellaestrella(1)
Actualizado el 14 de Junio del 2025 por Antonio (77 códigos) (Publicado el 29 de Enero del 2024)
13.560 visualizaciones desde el 29 de Enero del 2024
Programa para generar gifs animados a partir de vídeos, que se ejecuta en la línea de comandos.
ARGUMENTOS:
-src/--source: Nombre del vídeo original (obligatorio).
-dest/--destination: Nombre del archivo a generar (opcional).
-sz/--size: Tamaño en porcentaje del gif respecto al vídeo original (opcional).
-shw/--show: Muestra resultado en ventana emergente al finalizar el proceso de generado (opcional).
-st/--start: Segundo inicial para gif (opcional).
-e/--end: Segundo final (opcional).
-spd/--speed: Velocidad relativa de la animación (opcional)

PARA CUALQUIER DUDA U OBSERVACIÓN, USEN LA SECCIÓN DE COMENTARIOS.

imagge
Imágen de perfil
Val: 712
Bronce
Ha aumentado 1 puesto en Python (en relación al último mes)
Gráfica de Python

Lector, por cámara, de códigos "QR"


24 visualizaciones de promedio por día

Python

estrellaestrellaestrellaestrellaestrella(11)
Actualizado el 14 de Junio del 2024 por Antonio (77 códigos) (Publicado el 22 de Abril del 2020)
44.910 visualizaciones desde el 22 de Abril del 2020
El programa tiene como objeto principal, la lectura, haciendo uso de la cámara web, de códigos QR. Para ello, simplemente pulsaremos el botón "INICIAR LECTURA POR CAMARA" (que desplegará el visor de la cámara) y colocaremos el código a leer, delante de la cámara. A su vez, también podremos leer códigos QR, en formato "png" y "jpg" almacenados en nuestra computadora (para lo que usaremos la opción "CARGAR ARCHIVO". Finalmente, también podremos leer, directamente, un código que se encuentre visible en pantalla (botón "DETECTAR EN PANTALLA").

qrcc
qrcm1
Imágen de perfil
Val: 176
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

punto de venta


23 visualizaciones de promedio por día

Python

estrellaestrellaestrellaestrellaestrella(35)
Publicado el 30 de Mayo del 2016 por Mauricio Roman (7 códigos)
75.838 visualizaciones desde el 30 de Mayo del 2016
es un punto de venta muy básico

ventas
alta, baja, modificación de productos
alta, baja, modificación de usuarios
corte de ventas realizadas en el día

Pantallazo-2
Pantallazo-3
Pantallazo-4
Pantallazo-5
Pantallazo-6
Imágen de perfil

Juego de Ajedrez en Python 3


23 visualizaciones de promedio por día

Python

estrellaestrellaestrellaestrellaestrella(3)
Publicado el 16 de Octubre del 2018 por Administrador (718 códigos)
54.883 visualizaciones desde el 16 de Octubre del 2018
Juego de ajedrez para Python3 con Tkinter, que funciona arrastrando las piezas con el ratón.
Una vez seleccionas una de las piezas, te marca los puntos posibles donde se puede soltar la pieza.

ajedrez
Imágen de perfil
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Simulación cajero automático


21 visualizaciones de promedio por día

Python

estrellaestrellaestrellaestrellaestrella(6)
Publicado el 9 de Febrero del 2019 por Joel (150 códigos)
47.962 visualizaciones desde el 9 de Febrero del 2019
Código que simula la opción de sacar dinero de un cajero automático, en el que determina la cantidad de billetes a devolver según cantidad solicitada.
Imágen de perfil
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Triangulo con asteriscos


20 visualizaciones de promedio por día

Python

estrellaestrellaestrellaestrellaestrella(1)
Publicado el 17 de Diciembre del 2019 por Joel (150 códigos)
40.124 visualizaciones desde el 17 de Diciembre del 2019
Escribir un programa que pida al usuario un número entero y muestre por pantalla un triángulo como el de más abajo, de altura el número introducido.

triangulo
Imágen de perfil
Val: 712
Bronce
Ha aumentado 1 puesto en Python (en relación al último mes)
Gráfica de Python

Reproductor de música.


17 visualizaciones de promedio por día

Python

Actualizado el 6 de Agosto del 2024 por Antonio (77 códigos) (Publicado el 20 de Abril del 2021)
25.788 visualizaciones desde el 20 de Abril del 2021
Programa para reproducir archivos de audio que incorpora la posibilidad de crear una lista de favoritos.
El programa necesita de un archivo "json" que se generará al ejecutarse por primera vez.
PARA CUALQUIER DUDA U OBSERVACIÓN USEN LA SECCIÓN DE COMENTARIOS.
mp
Imágen de perfil
Val: 174
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Calculadora Científica Python 3


17 visualizaciones de promedio por día

Python

estrellaestrellaestrellaestrellaestrella(3)
Actualizado el 2 de Mayo del 2020 por Hdb Programming (46 códigos) (Publicado el 15 de Abril del 2020)
31.915 visualizaciones desde el 15 de Abril del 2020
Esta es una calculadora hecha en Python 3 que responde a las necesidades de sumar, restar, multiplicar, dividir, etc.

(Se admiten sugerencias, críticas, felicitaciones, agradecimientos...)
Imágen de perfil

BITCOIN: Transación, formato raw.


17 visualizaciones de promedio por día

Python

estrellaestrellaestrellaestrellaestrella(1)
Publicado el 4 de Marzo del 2025 por Hilario (145 códigos)
1.726 visualizaciones desde el 4 de Marzo del 2025
Captura-de-pantalla-de-2025-03-04-11-16-50

**********************************************




Ejercicio: Aula_28_Transacion_Bit_Coin_Marzo_25.py
**************************************************

Formato RAW de la transacción BITCOIN
//////////////////////////////////////////////////////////////////


Propongo un ejercicio interesante. Datos de una transacción de Bitcoin en formato raw (hexadecimal).Cuando una transacción se crea, se representa en un formato hexadecimal binario. Pero luego, ¿Cómo se calcula el txid de una transacción en Bitcoin?. Pues, queridos alumnos, de eso va este ejercicio propuesto.
IDEA INICIAL DEL CÓDIGO.
Necesitamos hacer en Python, bajo Ubuntu, un programa ejemplo de una transacción en formato raw (hexadecimal), teniendo en cuenta que se deben aportar los datos ficticios, es decir para tener una salida en formato raw, de la transación y posteriormente lograr el cálculo que nos dará el txid, correspondiente. Este es el punto de partida, para que una vez optenidos todos los TXID, de todas las transacciones podramos obtener :
Una vez que tenemos todos los TXID de las transacciones de un bloque, los organizamos en un árbol de Merkle, - que ya vimos en un ejercicio anterior, que se construye aplicando doble SHA-256 a pares de hashes hasta obtener un único hash raíz (Merkle root).

¿Qué significa esto en la práctica?
El hash final del bloque (Block Hash) es el identificador único de ese bloque en la blockchain.
Este hash será el "hash del bloque anterior" en el siguiente bloque de la cadena, asegurando la integridad y seguridad de la blockchain.

Bien, los datos ficticios que aportaremos en nuestro programa serán los siguientes:
*******************************************************************************
Este formato hexadecimal incluye:
• Version de la transacción.
• Entradas (Inputs):
• Hash de la transacción previa (UTXO).
• Índice de salida (vout).
• Script de firma.
• Salidas (Outputs):
• Cantidad de satoshis enviados.
• Script de bloqueo (scriptPubKey).
• Locktime (para definir si se puede gastar en el futuro).

SIGNIFICADOS:
***********************
1. Versión de la transacción
Este es un número que indica la versión del formato de la transacción. A medida que el protocolo de Bitcoin evoluciona, pueden introducirse nuevas versiones para mejorar la funcionalidad y seguridad de las transacciones.

Actualmente, las versiones más comunes son 1 y 2.
La versión 2 se introdujo para admitir Replace-By-Fee (RBF), permitiendo reemplazar una transacción no confirmada con una versión de mayor comisión.
2. Entradas (Inputs)
Las entradas indican de dónde provienen los bitcoins que se están gastando en la transacción.

2.1. Hash de la transacción previa (UTXO)
Cada entrada hace referencia a una salida no gastada (UTXO, Unspent Transaction Output) de una transacción anterior. Para identificar de dónde provienen los fondos, se usa el hash de la transacción previa que contenía la salida que ahora queremos gastar.

Este hash es un identificador único de 256 bits (64 caracteres en hexadecimal).
Se obtiene aplicando SHA-256 dos veces a los datos de la transacción anterior.
2.2. Índice de salida (vout)
Dado que una transacción puede tener múltiples salidas, necesitamos especificar cuál de esas salidas estamos gastando.

vout es un número entero que indica el índice de la salida en la transacción anterior (comienza desde 0).
Ejemplo:
Si la transacción anterior tiene dos salidas y queremos gastar la segunda, vout será 1.

2.3. Script de firma
También llamado scriptSig, es un script que prueba que el usuario tiene permiso para gastar los bitcoins de la UTXO referenciada.

Contiene la firma digital generada con la clave privada del propietario de los bitcoins.
También incluye la clave pública del firmante.
Se ejecuta junto con el script de bloqueo (scriptPubKey) de la transacción anterior para validar la autenticidad del gasto.
3. Salidas (Outputs)
Cada salida define a dónde van los bitcoins en esta transacción.

3.1. Cantidad de satoshis enviados
Especifica la cantidad de bitcoins que se enviarán en esta salida, expresados en satoshis (1 BTC = 100,000,000 satoshis).

Ejemplo:
Si queremos enviar 0.01 BTC, la cantidad en satoshis será 1,000,000.

3.2. Script de bloqueo (scriptPubKey)
Es un script que define las condiciones para gastar esta salida en el futuro.

Generalmente, es un Pay-to-PubKey-Hash (P2PKH), que especifica que solo la persona que tenga la clave privada correspondiente a la clave pública hash puede gastar esos bitcoins.
También puede ser un Pay-to-Script-Hash (P2SH), Pay-to-Witness-PubKey-Hash (P2WPKH) u otros formatos de pago.
Ejemplo de scriptPubKey para una dirección P2PKH:


OP_DUP OP_HASH160 <PublicKeyHash> OP_EQUALVERIFY OP_CHECKSIG
4. Locktime (para definir si se puede gastar en el futuro)
Locktime es un campo opcional que define a partir de cuándo la transacción puede ser confirmada.

Si locktime es 0, la transacción se procesa inmediatamente.
Si es un número mayor que 500,000,000, representa una fecha en formato timestamp UNIX (segundos desde 1970).
Si es menor, representa el número de bloque a partir del cual la transacción será válida.
Ejemplo:

locktime = 800000 → Solo se confirmará después del bloque 800,000.
locktime = 1700000000 → Solo se confirmará después del 14 de noviembre de 2023 (según la fecha UNIX).
Resumen final
La transacción en Bitcoin tiene una versión para definir su formato.
Cada entrada (input) hace referencia a una UTXO anterior mediante su hash y un índice de salida (vout).
Para validar el gasto, la transacción incluye un script de firma (scriptSig).
Cada salida (output) especifica cuántos satoshis se envían y a quién, mediante un script de bloqueo (scriptPubKey).
Locktime puede definir un tiempo de espera antes de que la transacción sea válida.

**********************************************************************************

• Locktime (para definir si se puede gastar en el futuro).
Deberas de tener en cuenta que los datos aportados en formato hash, deberan ser chequeados para que cumplan las normas, es decir deben de ser exadecimales de 0 a 9, y letras de A a la F, sin espacios etc, si no eres cuidado en esto, el programa siempre dara errores.
Una vez que tengas la transacción en formato raw (hexadecimal), deberás Calcular el txid
1. Hash SHA-256 sobre los datos en formato hexadecimal.
2. Aplicar SHA-256 de nuevo al resultado del primer hash (doble SHA-256).
3. Invertir el orden de los bytes (little-endian).
Deberá verse por consola la transacion en formato Hexadecimal.
También deberá verse por consola el TXID.
Según la foto adjunta del programa.

*****************************************************************
No os explico aquí el programa, porque he intentado explicaros en el propio código
cada paso.
------------------------------------------------------------------------------------
Programa realizado en linux Ubuntu.
Con el editor sublime text.
Ejecución bajo consola linux:
python3 Aula_28_Transacion_Bit_Coin_Marzo_25.py
------------------------------------------------------------------------------------------

En las clases sucesivas, explicaremos dudas, que supongo serán muchas.
sin imagen de perfil
Val: 74
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

CONVERSOR DE MONEDAS


16 visualizaciones de promedio por día

Python

estrellaestrellaestrellaestrellaestrella(3)
Publicado el 28 de Marzo del 2021 por Rubén (7 códigos)
24.862 visualizaciones desde el 28 de Marzo del 2021
Una calculadora de conversor de diferentes monedas de 3 paises: Euro a Dólar, Dólar a Euro, Peso Dominicano a Euro, Euro a peso dominicano.
Imágen de perfil
Val: 712
Bronce
Ha aumentado 1 puesto en Python (en relación al último mes)
Gráfica de Python

Calculadora con Python y Tkinter


16 visualizaciones de promedio por día

Python

estrellaestrellaestrellaestrellaestrella(8)
Actualizado el 29 de Noviembre del 2020 por Antonio (77 códigos) (Publicado el 15 de Febrero del 2020)
30.376 visualizaciones desde el 15 de Febrero del 2020
calcu0
Calculadora con interfaz gráfica, para realizar cadenas de operaciones.
Imágen de perfil
Val: 712
Bronce
Ha aumentado 1 puesto en Python (en relación al último mes)
Gráfica de Python

Generador de gifs a partir de video, en línea de comandos.


12 visualizaciones de promedio por día

Python

estrellaestrellaestrellaestrellaestrella(6)
Actualizado el 26 de Agosto del 2024 por Antonio (77 códigos) (Publicado el 9 de Diciembre del 2022)
11.371 visualizaciones desde el 9 de Diciembre del 2022
Programa para generar gifs animados a partir de vídeos, que se ejecuta en la línea de comandos.
ARGUMENTOS:
-src/--source: Nombre del vídeo original (obligatorio).
-dest/--destination: Nombre del archivo a generar (opcional).
-sz/--size: Tamaño en porcentaje del gif respecto al vídeo original (opcional).
-shw/--show: Muestra resultado en ventana emergente al finalizar el proceso de generado (opcional).
-st/--start: Segundo inicial para gif (opcional).
-e/--end: Segundo final (opcional).
-spd/--speed: Velocidad relativa de la animación (opcional)

PARA CUALQUIER DUDA U OBSERVACIÓN, USEN LA SECCIÓN DE COMENTARIOS.

mk
Imágen de perfil
Val: 712
Bronce
Ha aumentado 1 puesto en Python (en relación al último mes)
Gráfica de Python
Actualizado

Vista 'grid' (demo)


12 visualizaciones de promedio por día

Python

Actualizado el 14 de Junio del 2025 por Antonio (77 códigos) (Publicado el 31 de Julio del 2023)
8.407 visualizaciones desde el 31 de Julio del 2023
El siguiente código muestra un grid en pantalla por el que se puede desplazar usando los botones de dirección:

Botón de dirección derecha: Desplazamiento hacia la derecha.
Botón de dirección izquierdo: Desplazamiento a la izquierda.
Botón de dirección superior: Desplazamiento hacia adelante.
Botón de dirección inferior: Desplazamiento hacia atrás.
Botones 'o', 'p', 'k' y 'l': Desplazamientos en diagonal.

grid
Imágen de perfil
Val: 1.703
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Sumar las filas y columnas de una matriz


12 visualizaciones de promedio por día

Python

Publicado el 31 de Diciembre del 2020 por Katas (150 códigos)
19.667 visualizaciones desde el 31 de Diciembre del 2020
Esta funciones devuelven la suma de las filas y columnas de un array bidimensional (matriz)

1
2
3
4
5
6
7
matriz=[
    [7, 4, 3],
    [2, 9, 1],
    [3, 6, 4]
]
sumaFilas(matriz) # [14, 12, 13]
sumaColumnas(matriz) # [12, 19, 8]
Imágen de perfil
Val: 1.703
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Imprimir una X de gran tamaño


12 visualizaciones de promedio por día

Python

estrellaestrellaestrellaestrellaestrella(1)
Publicado el 12 de Junio del 2021 por Katas (150 códigos)
17.499 visualizaciones desde el 12 de Junio del 2021
Escribir un programa utilizando Python que imprima una X construida a base de la letra X y utilizar el carácter de subrayado como espacio. El tamaño de la X se basa en una variable n que indicará el tamaño de la letra para imprimir (en una matriz de n x n).

1
2
3
4
5
6
7
X_____X
_X___X_
__X_X__
___X___
__X_X__
_X___X_
X_____X