martes, 18 de agosto de 2026

Sistema de inventario en Python

Se tiene el siguiente código en lenguaje de programación python:

Completar código:

tab = '\t\t\t\t\t\t\t'

print('*' * 80)
print(tab, 'SISTEMA DE INVENTARIO')
print('*' * 80)
categoria = ''
lista_categoria = [[1, 'JUGUETES'],
                   [2, 'ELECTRODOMÉSTICOS'],
                   [3, 'ESCOLAR']]

# el último valor de cada sublista del producto pertenece a la categoría.
lista_producto = [[1, 'FIGURA HULK AVENGERS', 20.23, 1],
                  [2, 'PISTA DE CARROS', 18.14, 1],
                  [3, 'EXCAVADORA BIG TRUCK', 10.99, 1],
                  [4, 'LAVADORA SEMIAUTOMÁTICA 18 KG', 301.39, 2],
                  [5, 'AIRE ACONDICIONADO RCA 18K', 383.38, 2],
                  [6, 'CUADERNO DRAGON BALL 100H', 3.84, 3],
                  [7, 'CUADERNO 100H 4L STREET RACER', 3.00, 3]]

print('{:<4}{:<45}{:<20}{:<20}'.format('ID', 'PRODUCTO', 'PRECIO', 'CATEGORÍA'))

for i in ____________ :
    for j in ____________ :
        if ____________ == ____________ :
            categoria = ____________
            break
    print('{:<5}{:<45}{:<20}{:<20}'.format(i[0], ____________ , i[2], categoria))

Código completado:

for i in lista_producto:
    for j in lista_categoria:
        if j[0] == i[3]:
            categoria = j[1]
            break
    print('{:<5}{:<45}{:<20}{:<20}'.format(i[0], i[1], i[2], categoria))

En consola nos muestra el mensaje:

********************************************************************************
                            SISTEMA DE INVENTARIO
********************************************************************************
ID  PRODUCTO                                     PRECIO              CATEGORÍA        
1    FIGURA HULK AVENGERS                         20.23               JUGUETES        
2    PISTA DE CARROS                              18.14               JUGUETES        
3    EXCAVADORA BIG TRUCK                         10.99               JUGUETES        
4    LAVADORA SEMIAUTOMÁTICA 18 KG                301.39              ELECTRODOMÉSTICOS
5    AIRE ACONDICIONADO RCA 18K                   383.38              ELECTRODOMÉSTICOS
6    CUADERNO DRAGON BALL 100H                    3.84                ESCOLAR          
7    CUADERNO 100H 4L STREET RACER                3.0                 ESCOLAR

Definición de los códigos del ejercicio:

\t --> representa un tabulador.
print() --> imprime un mensaje en la pantalla.
lista = [1,2,3,4] --> son variables que almacenan arrays, internamente cada posición puede ser un tipo de datos distinto.
format() --> formatea los valores especificados y los inserta dentro del marcador de posición de la cadena.
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.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
break --> se utiliza para romper un for bucle o un while bucle.

Explicación del Código:

Explicación sencilla del código y de los espacios que deben completarse

1. Código completado

Los espacios se completan utilizando los nombres de las listas y los elementos que permiten relacionar cada producto con su categoría.

for i in lista_producto:
    for j in lista_categoria:
        if j[0] == i[3]:
            categoria = j[1]
            break

    print('{:<5}{:<45}{:<20}{:<20}'.format(
        i[0], i[1], i[2], categoria
    ))

2. ¿Qué hace el primer for?

for i in lista_producto:

Este ciclo recorre todos los productos almacenados en lista_producto.

Cada producto se guarda temporalmente en la variable i.

Por ejemplo:

i = [1, 'FIGURA HULK AVENGERS', 20.23, 1]

3. ¿Qué hace el segundo for?

for j in lista_categoria:

Este ciclo recorre todas las categorías disponibles.

La variable j representa cada categoría.

Por ejemplo:

j = [1, 'JUGUETES']

4. Comparar la categoría

if j[0] == i[3]:

Esta condición compara el ID de la categoría con el ID de categoría que tiene asignado el producto.

  • j[0] → ID de la categoría.
  • i[3] → ID de categoría del producto.

Si ambos valores son iguales, significa que encontramos la categoría correspondiente al producto.

j[0] == i[3]

5. Guardar el nombre de la categoría

categoria = j[1]

Cuando encuentra la categoría correcta, guarda su nombre en la variable categoria.

Por ejemplo:

j = [1, 'JUGUETES']

categoria = j[1]

# categoria contiene:
# JUGUETES

6. ¿Para qué sirve break?

break

El comando break detiene el segundo ciclo porque ya se encontró la categoría correspondiente.

Así se evita seguir buscando innecesariamente en las demás categorías.

7. Mostrar los datos

print('{:<5}{:<45}{:<20}{:<20}'.format(
    i[0], i[1], i[2], categoria
))

Esta instrucción muestra los datos del producto en forma de tabla.

  • i[0] → ID del producto.
  • i[1] → Nombre del producto.
  • i[2] → Precio.
  • categoria → Nombre de la categoría.

8. Resultado esperado

ID PRODUCTO PRECIO CATEGORÍA
1 FIGURA HULK AVENGERS 20.23 JUGUETES
2 PISTA DE CARROS 18.14 JUGUETES
3 EXCAVADORA BIG TRUCK 10.99 JUGUETES
4 LAVADORA SEMIAUTOMÁTICA 18 KG 301.39 ELECTRODOMÉSTICOS
5 AIRE ACONDICIONADO RCA 18K 383.38 ELECTRODOMÉSTICOS
6 CUADERNO DRAGON BALL 100H 3.84 ESCOLAR
7 CUADERNO 100H 4L STREET RACER 3.00 ESCOLAR

9. Resumen sencillo

El programa toma cada producto de lista_producto, busca su ID de categoría en lista_categoria, obtiene el nombre de la categoría y finalmente muestra el producto, su precio y su categoría.

Producto
    ↓
Buscar ID de categoría
    ↓
Comparar con lista_categoria
    ↓
Obtener nombre de categoría
    ↓
Mostrar producto + precio + categoría

No hay comentarios.:

Publicar un comentario

Sistema de inventario en Python

Se tiene el siguiente código en lenguaje de programación python: Completar código: tab = ' \t\t\t\t\t\t\t '...

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