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