sábado, 8 de agosto de 2026

Escribir una función para crear un código de barras en Python

Código del ejercicio:

from turtle import *
width(2)
speed(0)
up()
goto(-100,0)
down()
def barre_code(n):
    n = bin(n)
    x = 3
    pos = position()
    for i in range(1,3):
        forward(80)
        up()
        goto(pos[0]+4*i, pos[1])
        down()
    for i in n:
        try:
            i = int(i)
        except:
            continue
        if i == 1:
            forward(70)
        else:
            pass
        up()
        goto(pos[0]+4*x, pos[1])
        down()
        x += 1
def comp_code(l):
    right(90)
    p = position()
    for i in l:
        barre_code(i)
    up()
    goto(p[0]+40, p[1]-100)
    down()
    write(l)
    hideturtle()
l = [3597, 6799, 1177]
comp_code(l)

Definición de los códigos del ejercicio:

from --> palabra clave se usa para importar solo una sección específica de un módulo.
turtle --> es una biblioteca de Python que se utiliza para crear gráficos, imágenes y juegos.
import --> usa import palabra clave para hacer que el código de un módulo esté disponible en otro.
def --> una función es un grupo de declaraciones relacionadas que realizan una tarea específica.
bin() --> convierte un número entero especificado en su representación binaria y lo devuelve.
for --> el bucle for se utiliza para recorrer los elementos de un objeto iterable (lista, tupla, conjunto, diccionario, …) y ejecutar un bloque de código.
in --> el operador in devuelve True si el valor se encuentra en una secuencia; False en caso contrario.
range --> es un tipo que se utiliza para representar una secuencia inmutable de números. Uno de sus principales usos es junto a la sentencia for, para definir un bucle sobre el que se itera un número determinado de veces.
turtle.up() --> se utiliza para sacar el lápiz de la pantalla. No da dibujo al moverse a otra posición o dirección.
turtle.down() --> se usa para bajar el lápiz en la pantalla. Da dibujo al moverse a otra posición o dirección.
try --> permite probar un bloque de código en busca de errores.
except --> permite manejar el error.
int() --> convierte el valor especificado en un número entero.
continue --> se usa para omitir el resto del código dentro de un bucle solo para la iteración actual. El bucle no termina sino que continúa con la siguiente iteración.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
pass --> se utiliza como marcador de posición para el código futuro. Cuando pass se ejecuta la declaración, no sucede nada, pero evita obtener un error cuando no se permite el código vacío.
goto() --> salta la ejecución del programa directamente a otra línea de código.
write() --> escribe un texto específico en el archivo.
turtle.hideturtle() --> se utiliza para hacer que la tortuga sea invisible. Es una buena idea hacer esto mientras estás en medio de un dibujo complicado porque esconder la tortuga acelera el dibujo de manera observable.

Explicación del Código:

Este ejercicio utiliza la biblioteca Turtle de Python para dibujar un código de barras a partir de números.

1. Importar Turtle

from turtle import *

Importa todas las funciones de la biblioteca turtle, que permite dibujar utilizando una "tortuga".

2. Configurar el grosor

width(2)

Establece el grosor de las líneas que se van a dibujar.

3. Configurar la velocidad

speed(0)

Hace que la tortuga dibuje a la máxima velocidad.

4. Levantar el lápiz

up()

Levanta el lápiz para que la tortuga pueda moverse sin dibujar.

5. Ir a una posición inicial

goto(-100,0)

Mueve la tortuga hasta las coordenadas X = -100 y Y = 0.

6. Bajar el lápiz

down()

Baja el lápiz para que la tortuga vuelva a dibujar.

Función barre_code(n)

def barre_code(n):

Crea una función que recibe un número y lo utiliza para generar una representación de código de barras.

7. Convertir a binario

n = bin(n)

Convierte el número decimal en una representación binaria.

8. Crear una posición auxiliar

x = 3

Guarda el valor 3 en la variable x.

9. Guardar la posición

pos = position()

Guarda la posición actual de la tortuga.

10. Repetir dos veces

for i in range(1,3):

Ejecuta las instrucciones del ciclo dos veces, utilizando los valores 1 y 2.

11. Dibujar una línea

forward(80)

Hace que la tortuga avance 80 unidades mientras dibuja.

12. Levantar el lápiz

up()

Deja de dibujar mientras la tortuga cambia de posición.

13. Cambiar de posición

goto(pos[0]+4*i, pos[1])

Mueve la tortuga a una nueva posición horizontal.

14. Volver a dibujar

down()

Baja nuevamente el lápiz para continuar dibujando.

15. Recorrer el número binario

for i in n:

Recorre uno por uno los caracteres que forman el número binario.

16. Intentar convertir el carácter

try:
    i = int(i)

Intenta convertir cada carácter en un número entero.

17. Ignorar caracteres que no son números

except:
    continue

Si encuentra un carácter que no puede convertirse en número, continúa con el siguiente carácter.

18. Comprobar si es 1

if i == 1:

Comprueba si el valor actual es igual a 1.

19. Dibujar una barra

forward(70)

Si el valor es 1, la tortuga avanza 70 unidades mientras dibuja, formando una barra.

20. Si es 0, no hacer nada

else:
    pass

Si el valor es 0, no se realiza ninguna acción.

21. Levantar el lápiz

up()

Levanta el lápiz para poder cambiar de posición sin dibujar.

22. Cambiar de posición

goto(pos[0]+4*x, pos[1])

Mueve la tortuga horizontalmente para continuar con el código de barras.

23. Aumentar x

x += 1

Aumenta el valor de x en 1.

Función comp_code(l)

def comp_code(l):

Crea una función que recibe una lista de números y utiliza barre_code() para dibujar cada código.

24. Girar 90 grados

right(90)

Hace que la tortuga gire 90 grados hacia la derecha.

25. Guardar la posición

p = position()

Guarda la posición actual de la tortuga.

26. Recorrer la lista

for i in l:

Recorre todos los números almacenados en la lista.

27. Crear el código de barras

barre_code(i)

Llama a la función barre_code() para dibujar el código correspondiente al número actual.

28. Cambiar de posición

up()
goto(p[0]+40, p[1]-100)
down()

Levanta el lápiz, mueve la tortuga hacia otra posición y vuelve a bajar el lápiz para continuar dibujando.

29. Escribir la lista

write(l)

Escribe en pantalla los números que contiene la lista.

30. Ocultar la tortuga

hideturtle()

Oculta la tortuga después de terminar el dibujo.

31. Crear la lista

l = [3597, 6799, 1177]

Crea una lista con tres números que serán utilizados para generar los códigos de barras.

32. Ejecutar la función

comp_code(l)

Ejecuta la función comp_code() y le entrega la lista con los números.

Resumen

El programa toma un número decimal, lo convierte a binario y utiliza los valores 0 y 1 para crear un patrón de barras mediante Turtle.

Número decimal Número binario Leer los 0 y 1 Si es 1 → dibujar una barra Si es 0 → no dibujar

No hay comentarios.:

Publicar un comentario

Encontrar la paridad de un número dado en Python

Código del ejercicio: def encontrarParidad ( x ):     x ^= x >> 16     x ^= x >> 8     x ^= x >> 4     x ^= x...

Copyright © Ejercicios de programación. Todos los derechos reservados. ❤️