Está en la página 1de 10

27/6/2020 Cuestionario - Módulo 3: Revisión del intento

Área personal / Mis cursos / Herramientas de programación en Python para procesamiento de datos (20204_CAP_HPP518N_CEJ) / Módulo Inducción
/ Cuestionario - Módulo 3

Comenzado el jueves, 25 de junio de 2020, 07:43

Estado Finalizado

Finalizado en jueves, 25 de junio de 2020, 08:49

Tiempo
1 hora 6 minutos
empleado

Puntos 5,5/10,0

Cali cación 55,0 de 100,0

Haz nalizado con éxito tu evaluación, ya puedes continuar con el siguiente módulo.
Comentario -
¡Felicitaciones!

Información
Situación 

Supongamos que trabajas en el área de operaciones de una empresa. Necesitas obtener información de
todos los productos de la empresa, y los bajaste de la base de datos interna. No obstante, la información
que bajaste no viene apta para poder ser trabajada inmediatamente, por lo tanto, tendrás que procesarla.
En tu código tienes una lista con esta información. Especí camente, los elementos de esta lista tienen el
siguiente formato

“\tSKU,Nombre,Stock,Costo<-/”

Donde

•SKU: Es el código identi cador de cada producto


•Nombre es el nombre de cada producto
•Stock es la cantidad de unidades del producto que se tiene actualmente
•Costo es el costo en dólares del producto
Además, la lista es muy grande y no sabes cuántos productos son.

https://ecursos.claseejecutiva.cl/mod/quiz/review.php?attempt=2002123&cmid=818224 1/10
27/6/2020 Cuestionario - Módulo 3: Revisión del intento

Pregunta 1
¿Cuál de los códigos en las alternativas nos permitiría conocer el largo de la lista?
Correcta Asumamos que la lista ya existe, y está en la variable lista_productos
Puntúa 1,0 sobre 1,0
Seleccione una:

a.
len(lista_productos)

b.
lista_productos.len()

c.
lista_productos.count()

d.
lista_productos[n]

Respuesta correcta

La respuesta correcta es len(lista_productos)


Al aplicar la función len() a una lista nos permite obtener el número de elementos de esta. Por ejemplo, si
quisiéramos crear una variable cant_productos que almacenara el tamaño de esta lista lo podríamos
hacer de la siguiente manera.

cant_productos = len(lista_productos)

La respuesta correcta es:


len(lista_productos)

Pregunta 2
Indica si el siguiente planteamiento es verdadero o falso: 
Incorrecta
El siguiente código puede extraer una lista con la mitad superior de los elementos de lista_productos.
Puntúa 0,0 sobre 1,0
Puedes asumir que:

lista_productos ya está creada.


Si el largo de la lista es impar, entonces puedes extraer la mitad+1 de los elementos. Por ejemplo, si la
cantidad de productos es 9, entonces extrae los últimos 5 productos.

El código es: 

cant_productos = len(lista_productos)

mitad_lista = lista_productos[cant_productos//2,cant_productos]

Seleccione una:
Verdadero 
Falso

La respuesta es falso.

Primero, en la variable cantidad_productos almacenamos el largo total de la lista.

Segundo, creamos una nueva lista que almacenará la mitad superior de los productos. A esta lista le
asignamos la mitad de lista_productos. Para hacer esto, ocupamos la operación slice. Especí camente,
nuestro límite inferior será la división entera de la cantidad de elementos por 2.

Si es par, entonces es simplemente la mitad.


Si es impar, entonces esta operación representará la mitad+1.

Nuestro límite superior será la cantidad de elementos. No obstante, el slice se hace con el operador “:”, y
no con “,”. 

La respuesta correcta es 'Falso'

https://ecursos.claseejecutiva.cl/mod/quiz/review.php?attempt=2002123&cmid=818224 2/10
27/6/2020 Cuestionario - Módulo 3: Revisión del intento

Pregunta 3
De acuerdo a las siguientes alternativas:
Parcialmente correcta
¿Cuál(es) de los códigos nos permitiría imprimir en consola todos los elementos de la lista?
Puntúa 0,5 sobre 1,0
Puedes marcar más de 1 y asumir que:

•La variable lista_productos contiene la lista de productos.


•Variable cant_productos contiene el largo de la lista.

Seleccione una o más de una:

 a.
for i in lista_productos:
      print(i)

 b.
elemento = 0
while elemento<=cant_productos:
       print(lista_productos[elemento])
       elemento+=1

c.
elemento = 0
while elemento<cant_productos:
       print(lista_productos[elemento])
       elemento+=1

d.
elemento = 0
while elemento<cant_productos:
        print(lista_productos[elemento])

Respuesta parcialmente correcta.

Ha seleccionado correctamente 1.
Las respuestas correctas son dos:

1° Método

for i in lista_productos:
        print(i) 

elemento = 0

2° Método

while elemento<cant_productos:

         print(lista_productos[elemento])

         elemento+=1

El método tradicional es el primero, y es la más e ciente por lejos. El for recorre todos los elementos de la
lista y cada elemento se representa por la variable i.

El segundo método también sirve, porque la variable elemento representará las posiciones de la lista, y
en cada iteración del while irá aumentando en 1 para poder recorrer todos los elementos de la lista e
imprimirlos.

Los otros métodos son similares al segundo, pero tienen un error.


-En la variable elemento nunca aumenta, entonces la operación lógica del while siempre se cumple y por
lo tanto se hacen in nitas iteraciones.
-En la operación lógica del while tiene un <= en vez de un <, por lo tanto la variable elemento al nal de
las iteraciones es igual a cant_productos. Esto provoca que se intente obtener un elemento de la lista en
una posición que no existe lo que hace que Python arroje un error.

Las respuestas correctas son:


for i in lista_productos:
      print(i)
,
elemento = 0
while elemento<cant_productos:
https://ecursos.claseejecutiva.cl/mod/quiz/review.php?attempt=2002123&cmid=818224 3/10
27/6/2020 Cuestionario - Módulo 3: Revisión del intento
       print(lista_productos[elemento])
       elemento+=1

Pregunta 4
Ahora queremos limpiar los elementos de la lista, ya que el formato en el que están guardados:
Correcta
“\tSKU,Nombre,Stock,Costo<-/”
Puntúa 1,0 sobre 1,0
Tiene caracteres extra al principio y al nal.

¿Cuál de los códigos en las alternativas nos permite generar una nueva lista con elementos “limpios” (es
decir, eliminando estos caracteres extras al principio y al nal?

Ten presente que:

•La variable lista_productos contiene la lista de productos.

Seleccione una:

a.
lista_productos_limpia=[]
for i in lista_productos:
  lista_productos_limpia.append(i.strip())

b.
lista_productos_limpia=[]
for i in lista_productos:
      lista_productos_limpia = i.strip()

c.
for i in lista_productos:
      lista_productos_limpia = i.strip()

d.
for i in lista_productos:
      lista_productos_limpia[i.strip()]

Respuesta correcta

La respuesta correcta es:

lista_productos_limpia=[]
for i in lista_productos:
      lista_productos_limpia.append(i.strip())

Lo que se hace aquí es crear una nueva lista lista_productos_limpia. Luego, y mediante un for, recorremos
toda la lista lista_productos. Para cada uno de los elementos, ocupamos la función de strings strip() que
limpia los caracteres extra al principio y al nal. Luego, añadimos cada uno de los elementos (ya limpios y
sin caracteres extras) a la lista lista_productos_limpia.

Es importante destacar que mediante este código, si bien quitamos el “\t” que está al principio del string
anterior, los caracteres “<-/” no se eliminaron.

La respuesta correcta es:


lista_productos_limpia=[]
for i in lista_productos:
  lista_productos_limpia.append(i.strip())

https://ecursos.claseejecutiva.cl/mod/quiz/review.php?attempt=2002123&cmid=818224 4/10
27/6/2020 Cuestionario - Módulo 3: Revisión del intento

Pregunta 5
A pesar de haber ocupado el código de la pregunta anterior, los caracteres “<-/” no se eliminaron.
Correcta
Indica si es verdadero o falso:
Puntúa 1,0 sobre 1,0
con el siguiente código se pueden “limpiar” completamente (es decir, eliminar “\t” y “<-/”) los elementos de la
lista.

Código:

lista_productos_limpia=[]
for i in lista_productos:

           aux = i.strip()

           aux = aux.replace(“<-/”,””)
           lista_productos_limpia.append(aux)

Seleccione una:
Verdadero 
Falso

La respuesta es verdadero.

Esto se debe a que en este código:

lista_productos_limpia=[]
for i in lista_productos:

  aux = i.strip()

  aux = aux.replace(“<-/”,””)
  lista_productos_limpia.append(aux)

Se creó una variable auxiliar de nombre aux, que almacena el elemento de la lista lista_productos que se
le aplicó strip(). Esto signi ca que a este string se le eliminó “\t”. Luego, a la misma variable, le aplicamos la
función replace(“<-/”,””), lo que reemplaza los caracteres “<-/” por nada, es decir, los elimina. Finalmente, el
string limpio se agrega a lista_productos_limpia

La respuesta correcta es 'Verdadero'

https://ecursos.claseejecutiva.cl/mod/quiz/review.php?attempt=2002123&cmid=818224 5/10
27/6/2020 Cuestionario - Módulo 3: Revisión del intento

Pregunta 6
Si de nimos la siguiente función:
Correcta def extraer_elemento(info_limpia,num_elemento):
Puntúa 1,0 sobre 1,0               elemento = info_limpia.split(“,")

              return elemento[num_elemento]

¿Cuál de los códigos en las alternativas nos permite imprimir en consola el SKU de cada producto?

Puedes asumir que:

•La variable lista_productos_limpia contiene la lista de productos en el siguiente formato:


                                                 ‘SKU,Nombre,Stock,Costo'

Seleccione una:

a.
for i in lista_productos_limpia:
       print(i.extraer_elemento)

b.
for i in lista_productos_limpia:
       print(extraer_elemento(i,1))

c.
for i in lista_productos_limpia:
       print(extraer_elemento[i])

d.
for i in lista_productos_limpia:
       print(extraer_elemento(i,0))

Respuesta correcta

La respuesta correcta es:

for i in lista_productos_limpia:
       print(extraer_elemento(i,0))

Especí camente, en este código se ingresa como parámetro a la función extraer_elemento cada uno de
los elementos de la lista lista_productos_limpia (que se representan por i dentro del for). Además, se
ingresa un 0 como parámetro a esta función. En la función extraer_elemento, se hace un split con el
carácter “,” que separa cada string ‘SKU,Nombre,Stock,Costo’ en cuatro elementos en una lista que se
almacenan en la variable elemento. El retorno de esta función es el primer elemento (en la posición 0 y
que se obtiene del segundo parámetro de la función) que se imprime nalmente en la consola.

La respuesta correcta es:


for i in lista_productos_limpia:
       print(extraer_elemento(i,0))

https://ecursos.claseejecutiva.cl/mod/quiz/review.php?attempt=2002123&cmid=818224 6/10
27/6/2020 Cuestionario - Módulo 3: Revisión del intento

Pregunta 7
Ya sabemos que:
Parcialmente correcta
•La variable lista_productos_limpia contiene la lista de productos en el siguiente formato:
Puntúa 0,5 sobre 1,0 ‘SKU,Nombre,Stock,Costo'

¿Cuál es el orden correcto de las siguientes líneas de código para poder sumar el stock total de todos los
productos?
A continuación, enumera las líneas de código, en el orden que consideres correcto del 1 al 4:

suma_stock = 0 1 

suma_stock = suma_stock + int(stock_i) 4 

stock_i = i.split(",")[2] 2 

for i in lista_productos_limpia: 3 

Respuesta parcialmente correcta.

Ha seleccionado correctamente 2.
La respuesta correcta es:

suma_stock = 0

for i in lista_productos_limpia:

    stock_i = i.split(",")[2]

    suma_stock = suma_stock + int(stock_i)

En la primera línea, de nimos la variable donde se almacenará la suma de los stocks de todos los
productos.

En la segunda línea, creamos un for para recorrer todos los elementos de la lista lista_productos_limpia,
es decir, todos los productos de la empresa.

En la tercera línea, creamos una variable auxiliar stock_i que guarda el stock de cada productos. El stock
se obtiene haciendo un split(“,”) sobre cada uno de los elementos de la lista. Este split genera una lista de
cuatro elementos, de la forma [SKU, Nombre, Stock, Costo]. Inmediatamente, sacamos el elemento en la
tercera posición (es decir, posición número 2 ya que se empieza a contar desde 0) y lo guardamos en la
variable stock_i.

En la cuarta línea, sumamos el valor de stock_i a la variable suma_stock, y lo asignamos a la variable


suma_stock. Además, debemos transformar la variable stock_i a entero ya que originalmente es de tipo
string.

La respuesta correcta es: suma_stock = 0 → 1, suma_stock = suma_stock + int(stock_i) → 4, stock_i =


i.split(",")[2] → 3, for i in lista_productos_limpia: → 2

https://ecursos.claseejecutiva.cl/mod/quiz/review.php?attempt=2002123&cmid=818224 7/10
27/6/2020 Cuestionario - Módulo 3: Revisión del intento

Pregunta 8
¿Cuál de estas funciones puede extraer el costo máximo entre todos los productos?
Incorrecta
Puedes asumir que:
Puntúa 0,0 sobre 1,0
• La siguiente función ya está creada:

def extraer_elemento(info_limpia,num_elemento):
elemento = info_limpia.split(",")
return elemento[num_elemento]

•La variable lista_productos_limpia contiene la lista de productos en el siguiente formato:

                                                                      ‘SKU,Nombre,Stock,Costo’

•Todos los costos son números enteros.

Seleccione una:

a.
def costo_max(lista_productos_limpia):
aux = extraer_elemento(lista_productos_limpia[0],3)
for i in lista_productos_limpia:
if aux < extraer_elemento(i,3):
aux = extraer_elemento(i,3)

return lista_productos_limpia

b.
def costo_max(lista_productos_limpia):
aux = int(extraer_elemento(lista_productos_limpia[0],3))
for i in lista_productos_limpia:
if aux < int(extraer_elemento(i,3)):
aux = int(extraer_elemento(i,3))
return aux

c.
def costo_max(lista_productos_limpia):
aux = int(extraer_elemento(lista_productos_limpia[0],3))
for i in lista_productos_limpia:
if aux > int(extraer_elemento(i,3)):
aux = int(extraer_elemento(i,3))

return aux

d.
def costo_max(lista_productos_limpia):
aux = int(extraer_elemento(lista_productos_limpia[0],3))
for i in lista_productos_limpia:
if aux < int(extraer_elemento(i,3)):
aux = int(extraer_elemento(i,3))

Respuesta incorrecta.

La respuesta correcta es:


def costo_max(lista_productos_limpia):
aux = int(extraer_elemento(lista_productos_limpia[0],3))
for i in lista_productos_limpia:
if aux < int(extraer_elemento(i,3)):
https://ecursos.claseejecutiva.cl/mod/quiz/review.php?attempt=2002123&cmid=818224 8/10
27/6/2020 Cuestionario - Módulo 3: Revisión del intento

aux = int(extraer_elemento(i,3))
return aux

Creamos una variable auxiliar de nombre aux. En esta variable almacenamos el costo del primer
elemento de la lista (ocupando la función extraer_elemento).
Luego, con un for, recorremos todos los elementos de la lista. Comparamos el costo de cada uno de los
elementos. Si es que el costo del elemento que estamos analizando (i) es mayor que aux, entonces aux
toma ese valor.

Finalmente, devolvemos aux.

La respuesta correcta es:


def costo_max(lista_productos_limpia):
aux = int(extraer_elemento(lista_productos_limpia[0],3))
for i in lista_productos_limpia:
if aux < int(extraer_elemento(i,3)):
aux = int(extraer_elemento(i,3))
return aux

Pregunta 9
¿Cómo ordenarías (del 1 al 4) estas líneas de código para crear una lista que solo tenga elementos cuyo stock
Parcialmente correcta es mayor que 100? 
Puntúa 0,5 sobre 1,0 Puedes asumir que:

•La variable lista_productos_limpia contiene la lista de productos en el siguiente formato:


        ‘SKU,Nombre,Stock,Costo’

•La lista que almacenará los productos cuyo stock es mayor que 100 se llama lista_stock_100.

lista_stock_100.append(i) 4 

for i in lista_productos_limpia: 2 

if stock > 100: 3 

stock = int(i.split(“,”)[2]) 1 

Respuesta parcialmente correcta.

Ha seleccionado correctamente 2.
Respuesta correcta 

El código correcto es:

for i in lista_productos_limpia:

           stock = int(i.split(“,”)[2])

           if stock > 100:

                   lista_stock_100.append(i)

Donde el for sirve para recorrer toda la lista.


Luego, en la variable stock almacenamos el stock de cada producto. Para hacer esto, hacemos un split(“,”)
sobre cada elemento (i) de lista_productos_limpia, e inmediatamente obtenemos lo que está en la
posición 2 (que corresponde al stock).

A continuación, analizamos si el stock obtenido es mayor a 100, y de ser así, lo agregamos a


lista_stock_100.

La respuesta correcta es: lista_stock_100.append(i) → 4, for i in lista_productos_limpia: → 1, if stock > 100:


→ 3, stock = int(i.split(“,”)[2]) → 2

https://ecursos.claseejecutiva.cl/mod/quiz/review.php?attempt=2002123&cmid=818224 9/10
27/6/2020 Cuestionario - Módulo 3: Revisión del intento

Pregunta 10
Indica si el planteamiento es verdadero o falso:
Incorrecta
El siguiente código puede crear una nueva lista de productos que transforme el costo de dólares a pesos.
Puntúa 0,0 sobre 1,0
Puedes asumir que:

El dólar está a $700.


La variable lista_costo_en_pesos está inicializada como una lista vacía.
La variable lista_productos_limpia contiene la lista de productos en el siguiente formato:

‘SKU,Nombre,Stock,Costo’

for i in lista_productos_limpia:
sku = i.split(",")[0]
nombre = i.split(",")[1]
stock = i.split(",")[2]

costo_pesos = int(i.split(",")[3])*700

lista_costo_en_pesos.append(sku+","+nombre+","+stock+","+str(costo_pesos))

Seleccione una:
Verdadero
Falso 

Respuesta Incorrecta

La respuesta es VERDADERO. Primero hacemos un for que recorra todos los productos de
lista_productos_limpia. Para cada uno de ellos (i), extraemos cada una de las características de los
productos (sku, nombre, stock y costo_en_pesos). Esto se hace por medio de i.split(“,”), donde elegimos el
elemento en posición 0, 1, 2 y 3 de la lista resultante respectivamente. A continuación, transformamos el
costo en dólares a pesos multiplicando por 700. Finalmente, a lista_costo_en_pesos vamos agregando
cada una de las características de los productos seguidas por coma (para respetar el mismo formato con
la que leímos la lista), agregando como última característica el costo de cada producto en pesos.

La respuesta correcta es 'Verdadero'

https://ecursos.claseejecutiva.cl/mod/quiz/review.php?attempt=2002123&cmid=818224 10/10

También podría gustarte