Conversation with Merlin [email protected] · Mon Nov 06 2023

Diego Store es una tienda dedicada al comercio electrónico, específicamente a la venta de insumos deportivos. El cliente puede visualizar el producto que quiere comprar y verificar la disponibilidad de este, así mismo puede consultar el color, talla, y tipo de material.

La tienda requiere cambiar de software o plataforma, por ello te han contratado como especialista en programación, para que propongas una nueva herramienta que permita tener acceso de forma rápida y directa a los productos consultados, así como mejorar el proceso de inventario, en función de la disponibilidad de productos. La tienda actualmente posee un inventario de solo 25 productos, de los cuales manejan las siguientes categorías o características:

Marca. Modelo. Talla. Color. Tipo de material. Unidades. Precio. Así mismo, la empresa necesita tener un total de unidades por modelo y el precio total del inventario.

En función de las necesidades de la empresa, el equipo de la gerencia te ha solicitado que levantes un informe.

Debe tener presente que para abordar las necesidades de control de inventario de Diego Store y responder a las preguntas planteadas, primero debemos considerar cómo utilizar arreglos unidimensionales y bidimensionales en Python para almacenar la información y mejorar el proceso de control de inventario.

A continuación, realiza las siguientes actividades:

  1. Para resolver la necesidad del control de inventario de los productos que solo se venden a través de comercio electrónico, ¿Cómo utilizarías los arreglos unidimensionales para lograr mejorar el proceso?

Debe indicar con sus palabras como un arreglo unidimensional lo ayudaría para mejorar el proceso de control de inventario, de acuerdo al problema planteado. Asimismo, deberá crear y adjuntar su código en Lenguaje Python de como realizaría este arreglo unidimensional a través de un ejemplo simple.

  1. ¿Cómo se pueden usar arreglos bidimensionales para almacenar la información de inventario de Diego Store? ¿Cuáles son algunas de las ventajas de usar arreglos bidimensionales para este propósito?

Debe indicar con sus palabras cuales son las ventajas de utilizar un arreglo bidimensional para resolver el problema planteado. Además deberá crear y adjuntar su código en Lenguaje Python de como realizaría este arreglo bidimensional a través de un ejemplo simple.

  1. ¿Cuáles son algunas de las operaciones que se pueden realizar en matrices unidimensionales y bidimensionales en Python? ¿Cómo afectan las características de los arreglos unidimensionales y bidimensionales las operaciones que se pueden realizar en ellos?

Debe indicar con sus palabras que tipo de operaciones puede realizar al utilizar arreglos unidimensionales y bidimensionales de acuerdo al problema planteado en el enunciado e indicando que operaciones son más adecuadas para uno u otro tipo de arreglo.

  1. Para mejorar el proceso de control de inventario de los productos de Diego Store a través de comercio electrónico, se puede utilizar un arreglo unidimensional para almacenar la información de cada producto. Cada elemento del arreglo unidimensional representaría un producto en particular, y cada índice del arreglo estaría asociado a un atributo específico del producto, como la marca, modelo, talla, color, tipo de material, unidades disponibles y precio.

Aquí tienes un ejemplo simple de cómo se podría implementar un arreglo unidimensional en Python para controlar el inventario de los productos de Diego Store:

# Definir un arreglo unidimensional para el inventario inventario = [] # Agregar un producto al inventario producto = ["Nike", "Air Max", "XL", "Negro", "Cuero", 10, 150.99] inventario.append(producto) # Acceder a los atributos de un producto específico en el invent print(inventario[0][0]) # Marca del primer producto en el inventario print(inventario[0][1]) # Modelo del primer producto en el inventario print(inventario[0][2]) # Talla del primer producto en el inventario # ... # Actualizar la cantidad de unidades disponibles de un producto en el inventario inventario[0][5] = 8 # Calcular el total del inventario precio_total = sumproducto[6] for producto in inventario]) print("El precio total del inventario es:", precio_total) # Obtener el total de unidades por modelo modelos = set([producto[1] for producto in inventario]) for modelo in modelos: total_unidades = sum([producto[5] for producto in inventario if producto[1] == modelo]) print("Total de unidades de", modelo, "en el inventario:", total_unidades)
  1. Los arreglos bidimensionales se pueden utilizar para almacenar la información de inventario de Diego Store de manera más estructurada y eficiente. Un arreglo bidimensional podría representar una tabla donde las filas representan los productos y las columnas representan los atributos de cada producto.

Algunas ventajas de utilizar arreglosimensionales para el inventario son:

  • Estructura organizada: Los arreglos bidimensionales permiten organizar la información en filas y columnas, lo que facilita la gestión y acceso a los datos.

Acceso eficiente: Al utilizar índices de fila y columna, es más fácil acceder a un atributo específico de un producto en el inventario.

  • Operaciones matriciales: Los arreglos bidimensionales facilitan la realización de operaciones matriciales, como sumas, multiplicaciones y transposiciones.

Aquí tienes un ejemplo simple de cómo se podría implementar un arreglo bidimensional en Python para almacenar el inventario de Diego Store:

# Definir un arreglo bidimensional para el inventario inventario = [ ["Nike", "Air Max", "XL", "Negro", "Cuero", 10, 150.99], ["Adidas", "Superstar", "L", "Blanco", "Cuero", 5, 120.50], # ... ] # Acceder a los atributos de un producto específico en el inventario print(inventario[0][0]) # Marca del primer producto en el inventario print(inventario[0][1]) # Modelo del primer producto en el inventario print(inventario[0][2]) # Talla del primer producto en el inventario # ... # Actualizar la cantidad de unidades disponibles de un producto en el inventario inventario[0][5] = 8 # Calcular el precio total del inventario precio_total = sum([producto[6] for producto in inventario]) print("El precio total del inventario es:", precio_total) # Obt el total de unidades por modelo modelos = set([producto[1] for producto in inventario]) for modelo in modelos: total_unidades = sum([producto[5] for producto in inventario if producto[1] == modelo]) print("Total de unidades de", modelo, "en el inventario:", total_unidades) ` 3. Tanto en arreglos unidimensionales como arreglos bidimensionales, se pueden realizar diversas operaciones en Python para manipular los datos almacenados en ellos. Algunas operaciones comunes son: - Acceso a elementos: Se puede acceder a elementos individuales de un arreglo utilizando índices. - Modificación de elementos: Se pueden los valores de elementos específicos en un arreglo- Búsqueda y

%PDF-1.3 % 1 0 obj << /Width 3 /ColorSpace/DeviceRGB /Filter[/FlateDecode] /Height 1 /Subtype/Image /Type/XObject /Length 26 /BitsPerComponent 8 >> stream X%1 0zk!?endstream endobj 2 0 obj << /Length 14 /Filter[/FlateDecode] >> stream X|4endstream endobj 3 0 obj [/Indexed/DeviceRGB 0 2 0 R] endobj 4 0 obj << /Width 70 /ColorSpace 3 0 R /Filter[/FlateDecode] /Height 1 /Subtype/Image /Type/XObject /Length 20 /BitsPerComponent 1 >> stream X5! 6  endstream endobj 5 0 obj << /Width 84 /ColorSpace/DeviceRGB /Filter[/FlateDecode] /Height 1 /Subtype/Image /Type/XObject /Length 190 /BitsPerComponent 8 >> stream X} P"&bttTH hi ZZZU|mm/dX>D" WzyU tq?ByM=(}6HYfXWFWs#~/#o'XW} b`]VdYt0]endstream endobj 6 0 obj << /Width 72 /ColorSpace/DeviceRGB /Filter[/FlateDecode] /Height 1 /Subtype/Image /Type/XObject /Length 182 /BitsPerComponent 8 >> stream XUM Q/&=0VbaP4#?JJvDYX#vrd NoOo9T)-jI.1|#3 %8>Ic',Ql@K` HjtT$\<*_ J.&ou0Tendstream endobj 7 0 obj << /Width 38 /ColorSpace/DeviceRGB /Filter[/FlateDecode] /Height 1 /Subtype/Image /Type/XObject /Length 137 /BitsPerComponent 8 >> stream XM P@rq&.^^s$44eKVcS?4^ 3v0mxF$JJuwyevao}~C: \ <^Ttzfd{> stream XM GP+vC( }+j Y hr$@usLRjA #^L25m3^?!endstream endobj 9 0 obj << /Width 37 /ColorSpace/DeviceRGB /Filter[/FlateDecode] /Height 1 /Subtype/Image /Type/XObject /Length 148 /BitsPerComponent 8 >> stream X @App&%h% hz**] -5TzUxvIa!R7+E&XS8+]nU&l8_#%ir6endstream endobj 10 0 obj << /Width 37 /ColorSpace/DeviceRGB /Filter[/FlateDecode] /Height 1 /Subtype/Image /Type/XObject /Length 136 /BitsPerComponent 8 >> stream X% PEn VZTQT>% -)R so$uB JYm:LrNhkj[<-E?YvLq. endstream endobj 11 0 obj << /Width 32 /ColorSpace/DeviceRGB /Filter[/FlateDecode] /Height 1 /Subtype/Image /Type/XObject /Length 132 /BitsPerComponent 8 >> stream X @C/ Q7,&lSl6fcaci2Vq_(7pfMvX PvP=AtJr=cZ-}|(ut&NE? T2endstream endobj 12 0 obj << /Width 32 /ColorSpace/DeviceRGB /Filter[/FlateDecode] /Height 1 /Subtype/Image /Type/XObject /Length 121 /BitsPerComponent 8 >> stream X ;F@@!l@"Q(t$ BG D#B[0P=7J^KX5=i$"Zr6aBRk155endstream endobj 13 0 obj << /Width 37 /ColorSpace/DeviceRGB /Filter[/FlateDecode] /Height 1 /Subtype/Image /Type/XObject /Length 145 /BitsPerComponent 8 >> stream X P.c}aL&YD,6- -( yD8R/nI'fw(V3^O; oZn fJGiShTSR vG?' H=endstream endobj 14 0 obj << /Width 37 /ColorSpace/DeviceRGB /Filter[/FlateDecode] /Height 1 /Subtype/Image /Type/XObject /Length 139 /BitsPerComponent 8 >> stream X @G5tt(fnjjM1 [zondl\{%*)4?POd'&;@'ZdnQOmV Y~tzq{5endstream endobj 15 0 obj << /Width 32 /ColorSpace/DeviceRGB /Filter[/FlateDecode] /Height 1 /Subtype/Image /Type/XObject /Length 140 /BitsPerComponent 8 >> stream X PP8~8Y h>!2"0+xDCDCC}9'^?kZQ8dG?q8 7sO@n@Z2r\w ]v4endstream endobj 16 0 obj << /Width 32 /ColorSpace/DeviceRGB /Filter[/FlateDecode] /Height 1 /Subtype/Image /Type/XObject /Length 133 /BitsPerComponent 8 >> stream X PkS8@T|oncOP48F9m-MA!jRqu>\1vNIx8[O$''X4;;]pnnSoUdd)|9endstream endobj 17 0 obj << /Width 37 /ColorSpace/DeviceRGB /Filter[/FlateDecode] /Height 1 /Subtype/Image /Type/XObject /Length 138 /BitsPerComponent 8 >> stream X= P;\U8(KS%P445m z<_uW;Cn&[%z8CbI{I(y!bte0IE/&\Z t69endstream endobj 18 0 obj << /Width 37 /ColorSpace/DeviceRGB /Filter[/FlateDecode] /Height 1 /Subtype/Image /Type/XObject /Length 144 /BitsPerComponent 8 >> stream X M @gN pnlmh," ;TPXI1`&4!t8?X`7S[Fie~S[ Q<)\n I{n__s b6{endstream endobj 19 0 obj << /Width 37 /ColorSpace/DeviceRGB /Filter[/FlateDecode] /Height 1 /Subtype/Image /Type/XObject /Length 128 /BitsPerComponent 8 >> stream X%@`I@aLdx0h7d&u s0UG +5gs7A8@/$%,m39b{F.Pf\ fv7Fendstream endobj 20 0 obj << /Width 37 /ColorSpace/DeviceRGB /Filter[/FlateDecode] /Height 1 /Subtype/Image /Type/XObject /Length 146 /BitsPerComponent 8 >> stream X @

inf.utfsm.cl

NumPy (se pronuncia "numb pie") es uno de los paquetes ms importantes a entender cuando ests comenzando a aprender Python.El paquete es conocido por una estructura de datos muy til llamado arreglo de NumPy. NumPy tambin permite a los desarrolladores de Python realizar en forma rpida una amplia variedad de clculo numricos.Este tutorial te ensear los fundamentos de NumPy que puedes usar para crear aplicaciones numricas en Python hoy.Tabla de ContenidosPuedes saltear una seccin especfica de este tutorial de NumPy utilizando esta tabla de contenidios:Introduccin a NumPyArreglos de NumPyMtodos y Operaciones de NumPyIndexaciones y Asignaciones en NumPyPensamientos finales y oferta especialIntroduccin a NumPyEn esta seccin, introduciremos la librera de NumPy en Python.Qu es NumPy?NumPy es una librera de Python para computacin cientfica. NumPy significa Python numrico. Aqu est la descripcin oficial de la librera indicada en su pgina web:"NumPy es el paquete fundamental para la computacin cientfica con Python. Contiene entre otras cosas:un poderoso objeto de arreglo N-dimensionalfunciones (radiodifusin) sofisticadasherramientas para integrar cdigo en C/C++ y Fortrantiles capacidades de lgebra lineal, transformacin de Fourier y nmeros aleatoriosAdems de sus obvios usos cientficos, NumPy puede ser utilizado como un eficiente contenedor multidimensional de datos genricos. Tipos de datos arbitrarios puede ser definidos. Esto permite que NumPy se integre sin problemas y con rapidez con una amplia variedad de bases de datos.NumPy est licenciado bajo el formato BSD, lo que permite la reutilizacin con pocas restricciones".NumPy es una librera de Python tan importante que hay otras libreras (incluyendo pandas) que estn construidas enteramente sobre NumPy.El principal beneficio de NumPyEl principal beneficio de NumPy es que permite una generacin y manejo de datos extremadamente rpido. NumPy tiene su propia estructura de datos incorporada llamado arreglo que es similar a la lista normal de Python, pero puede almacenar y operar con datos de manera mucho ms eficiente.Que aprenderemos sobre NumPyLos practicantes avanzados de Python pasarn mucho ms tiempo trabajando con pandas que trabajando con NumPy. AUn as, dado que pandas se basa en NumPy, es importante comprender los aspectos ms importantes de la biblioteca NumPy.En las siguientes secciones, cubriremos la siguiente informacin sobre la librera de NumPy:Arreglos de NumPyIndexacin y asignacin de NumPyMtodos y operaciones de NumPyContinuemosPasemos a aprender sobre los arreglos de NumPy, la estructura de datos central con la que todo profesional de NumPy debe estar familiarizado.Arreglos de NumPyEn esta seccin, aprenderemos sobre los arreglos de NumPy.Qu son los Arreglos de NumPy?Los arreglos NumPy son la forma principal de almacenar datos utilizando la biblioteca NumPy. Son similares a las listas normales en Python, pero tienen la ventaja de ser ms rpidas y tener ms mtodos integrados.Los arreglos de NumPy son creados llamando al mtodo array() de la librera de NumPy. Dentro del mtodo, deberas pasar una lista.A continuacin, se muestra un ejemplo de un arreglo de NumPy bsico. Ten en cuenta que mientras ejecuto la instruccin import numpy as np al comienzo de este bloque de cdigo, se excluir de los otros bloques de cdigo en esta seccin por razones de brevedad.import numpy as np sample_list = [1, 2, 3] np.array(sample_list) La ltima lnea de ese bloque de cdigo dar como resultado una salida que se ve as.array([1,2,3]) El contenedor array() indica que esta ya no es una lista normal de Python. En cambio, es un arreglo de NumPy.Los dos tipos diferentes de arreglos de NumPyHay dos tipos diferentes de arreglos de NumPy: vectores y matrices.Los vectores son arreglos de NumPy uni-dimensionales y se ve as:my_vector = np.array(['este', 'es', 'un', 'vector']) Las matrices son arreglo bi-dimensionales y son creadas pasando una lista de lista dentro del mtodo np.array(). Un ejemplo es el siguiente.my_matrix = [[1, 2

freecodecamp.org

Arreglos Arreglos En numerosas ocasiones, cuando se intenta resolver un problema mediante la programacin, surge la necesidad de contar con la posibilidad de almacenar un conjunto de datos. Algunas de esas veces los datos tienen caractersticas en comn, por ejemplo que sean del mismo tipo y representen una misma cosa. Por ejemplo, en una lista de calificaciones de cierto profesor hay datos en comn y representan una misma cosa. Un dato sera una palabra, que representa el nombre del alumno; mientras otro dato sera un nmero que representa la calificacin. Siguiendo el ejemplo, sera imprctico y muy complicado declarar en un programa tantas variables como alumnos haya en un grupo. La forma de almacenar esto es en una estructura llamada Arreglo. Arreglos Unidimensionales Un arreglo unidimensional es un tipo de dato que permite almacenar un conjunto de datos homogeneos, es decir, del mismo tipo de dato. Al declararse el arreglo debe indicarse el tamao, en ese momento el compilador reserva la memoria que se necesite para almacenar los datos solicitados por el programador. El lmite en la dimensin de los arreglos vara dependiendo del lenguaje de programacin que se utilice, siendo el lmite natural la memoria de la computadora. Dim nombre As New tipoDato[tamao] Imaginese que un arreglo es como un conjunto de lockers. Cada locker tiene cierto tamao para guardar objetos en l y todos son de las mismas dimensiones. Para diferenciar entre ellos e identificar uno en particular, cada locker posee un nmero nico con el cual puede ser encontrado. Un arreglo funciona de la misma forma. Al declararse se debe especificar el tamao, es decir el nmero de localidades de memoria. Es como si se declararan muchas variables del mismo tipo al al mismo tiempo y asociadas todas ellas a un nombre en comn. Por ejemplo, considere el caso de un profesor que desea tener una lista de calificaciones de cierto grupo. En ese grupo tiene 8 alumnos y las calificaciones son numricas no necesariamente enteras. Esta es la lista de calificaciones. Numero de Lista Nombre Calificacin 1 Hugo 6.8 2 Luis 8.3 3 Veronica 10.0 4 Claudia 9.5 5 Mario 4.5 6 Octavio 7.7 7 Victoria 9.4 8 Artemio 10.0 En este caso, podran declararse 8 variables donde cada una contendra la calificacin de cada alumno, pero esto resulta imprctico de muchas formas. Una de ellas ocurre si el grupo tuviera ms alumnos habra que hacer muchas declaraciones y ademas la forma de acceder a los datos sera poco prctico. Por otro lado, si hubiera alumnos que se dan de baja entonces la lista disminuira y habra que hacer cambios funcionales en el cdigo que hayamos escrito. Este problema y otros ms se pueden resolver con un arreglo. Para este ejemplo declaremos un arreglo que se llame calificaciones, de tipo Single y de 8 localidades. Esto se hara con la siguiente lnea de cdigo. Dim calificaciones As New Single[8] Como puede obervar, el arreglo fue declarado como Single lo que significa que todas los contenedores dentro de el son del mismo tipo, es decir, son homogneas. Para diferenciar las calificaciones, cada alumno debe tener un nmero de lista. Observe que la numeracin de las localidades del arreglo comienza en 0, quiz lo ms natural para un humano sera comenzar la numeracin de las lolcalidades de memoria desde 1 hasta 8, pero se comienza en 0 debido a la manera como estn numeradas las localidades de memoria en las computadoras y se hace de esta forma en la gran mayora de los lenguajes de programacin. Cada una de las localidades acta entonces como una variable independiente de las dems, por esa razn puede ser leda y/o modificada sin afectar a las dems. Lo que tienen en comn las variables en los contenedores, es que son del mismo tipo y que pertenecen al mismo arreglo, en este caso el arreglo calificaciones. Por ejemplo, observe el programa a continuacin y trate de entender como funciona. Public Sub Main() Dim calificaciones As New Single[8] calificaciones[0] = 6.8 calificaciones[1] = 8.3 calificaciones[2] = 10.0 calificacion

lab.anahuac.mx