Está en la página 1de 10

2/7/2020 Cuestionario - Módulo 4: 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 4

Comenzado el jueves, 2 de julio de 2020, 00:09

Estado Finalizado

Finalizado en jueves, 2 de julio de 2020, 00:27

Tiempo
18 minutos 19 segundos
empleado

Puntos 16,0/20,0

Cali cación 80,0 de 100,0

Haz nalizado con éxito tu evaluación, ya puedes continuar con la evaluación nal del curso.
Comentario -
¡Felicitaciones!

Información
Situación:

Supongamos que entraste a trabajar a una empresa que tenía la información de sus empleados en un
archivador. Como encargado de informática, te pidieron crear un sistema que pueda administrar esta
información. Especí camente, las chas de cada empleados contienen la siguiente información:
•RUT
•Nombre
•Fecha de nacimiento
•Edad
•Remuneración
•Fecha de contratación

Pregunta 1
Indica si el siguiente enunciado es verdadero o falso:
Correcta
"Para poder cargar la información del archivador a Python es recomendable ocupar un archivo Word"”
Puntúa 2,0 sobre 2,0

Seleccione una:
Verdadero
Falso 

La respuesta es Falso:
Esto dado que como se enseñó durante el módulo, la información debería cargarse en un archivo CSV
como una base de datos, para que su lectura sea más fácil y luego pueda transformarse en una matriz de
datos.

La respuesta correcta es 'Falso'

https://ecursos.claseejecutiva.cl/mod/quiz/review.php?attempt=2041620&cmid=818227 1/10
2/7/2020 Cuestionario - Módulo 4: Revisión del intento

Pregunta 2
Como experto en informática, guardarás la información del archivador en un archivo CSV para poder
Correcta cargarla más fácilmente a Python y luego poder procesarla.
Puntúa 2,0 sobre 2,0 Si queremos añadir una la al archivo CSV para agregar la siguiente información:
•RUT: 16.533.123-1
•Nombre: Juan Andrés González Henríquez
•Fecha de nacimiento: 31/07/1991
•Edad: 27
•Remuneración: 500000
•Fecha de contratación: 03/01/2015
¿Cuál(es) de estas opciones sería(n) la(s) más adecuada(s) para agregar esta la al archivo CSV?

Seleccione una o más de una:

 a.
16.533.123-1;Juan Andrés González Henríquez;31/07/1991;27;500000;03/01/2015\n

b.
16.533.123-1\nJuan Andrés González Henríquez\n 31/07/1991\n27\n500000\n03/01/2015

c.
16.533.123-1/Juan Andrés González Henríquez/31/07/1991/27/500000/03/01/2015\n

 d.
16.533.123-1,Juan Andrés González Henríquez,31/07/1991,27,500000,03/01/2015\n

Respuesta correcta

Son correctas:

16.533.123-1;Juan Andrés González Henríquez;31/07/1991;27;500000;03/01/2015\n


16.533.123-1,Juan Andrés González Henríquez,31/07/1991,27,500000,03/01/2015\n
Porque queremos formar una base de datos con la siguiente estructura:

Para almacenar datos en archivos tipo CSV:

•Cada la de la base de datos se almacena en una línea nueva del archivo CSV.
•Cada columna se separa con “;” o “,”.
•Al nal de cada línea se escribe un \n (para explicitar que se cambió de una la a otra).

Las respuestas correctas son:


16.533.123-1;Juan Andrés González Henríquez;31/07/1991;27;500000;03/01/2015\n
,
16.533.123-1,Juan Andrés González Henríquez,31/07/1991,27,500000,03/01/2015\n

Información
De aquí en adelante, asuma que la información de los empleados de la empresa en todos los ejercicios se
almacenará con este formato:

https://ecursos.claseejecutiva.cl/mod/quiz/review.php?attempt=2041620&cmid=818227 2/10
2/7/2020 Cuestionario - Módulo 4: Revisión del intento

Pregunta 3
Ya tenemos nuestro archivo CSV formado a partir de la base de datos. Por lo tanto, ahora queremos
Correcta “cargarlo” en Python. ¿Cuál de las siguientes opciones es la más adecuada para almacenar esta información
Puntúa 2,0 sobre 2,0 en Python?

Seleccione una:

a.
Lista

b. Archivo

c.
Lista de listas

d.
Variable

Respuesta correcta

La estructura de datos correcta para almacenar un archivo CSV en Python es la alternativa una lista de
listas.
Esto ocurre, porque de esta manera se puede simular una matriz, que tendrá las y columnas que
permitirán poder acceder a una la especí ca (en este caso, un empleado de la empresa), y también a
una columna especí ca (cada una de las características de estos empleados).
Por ejemplo:
[…, [“16.533.123-1”,”Juan Andrés González Henríquez“,”31/07/1991”,27,500000,”03/01/2015”],…]

La respuesta correcta es:


Lista de listas

https://ecursos.claseejecutiva.cl/mod/quiz/review.php?attempt=2041620&cmid=818227 3/10
2/7/2020 Cuestionario - Módulo 4: Revisión del intento

Pregunta 4
Si el archivo CSV se llama “empleados.csv”
Correcta
¿Cuál de las siguientes opciones corresponde a las líneas de código faltantes para poder cargar la
Puntúa 2,0 sobre 2,0 información del archivo CSV a una lista de listas llamada base_de_datos?

El código a rellenar es el siguiente:

var_archivo = open("empleados.csv","r")
lineas = var_archivo.readlines()
base_de_datos = []
(línea 1)
(línea 2)

Seleccione una:

a.
Línea 1: for i in range(len(lineas)):
Línea 2:   base_de_datos.append(i)

b.
Línea 1: for i in lineas:
Línea 2:   base_de_datos.append(split(i,“;”))

c.
Línea 1: for i in lineas:
Línea 2:   base_de_datos.append(i.split(“;”))

d.
Línea 1: for i in range(lineas):
Línea 2: base_de_datos.append(i)

Respuesta correcta

La alternativa correcta es 


Línea 1: for i in lineas:
Línea 2:   base_de_datos.append(i.split(“;”))
Paso a paso:
1)var_archivo = open("empleados.csv","r")
2)lineas = var_archivo.readlines()
3)base_de_datos = []
4)for i in lineas:
5)  base_de_datos.append(i.split(“;”))
En este código se hace lo siguiente:

•En la línea 1 se carga a la variable “var_achivo” el archivo “empleados.csv” en modo “r” (“read”, que es
igual a leer en inglés).
•En la línea 2 se transforma el archivo a una lista cuyos elementos son las líneas del archivo
“empleados.csv”. Esta lista se almacena en la variable “lineas”.
•En la línea 3 se crea una lista de nombre “base_de_datos” vacía
•En la línea 4 se hace un for que recorre todos los elementos de la lista “lineas”. En este caso, todas las
líneas del archivo “empleados.csv”.
•En la línea 5 se hace un split(“;”), sobre cada una de las líneas del archivo “empleados.csv”. Esto separa a
las líneas del archivo según el carácter “;”, creando elementos con la información por columnas y
añadiéndolos a una lista. Esta lista se agrega luego a la lista “base de datos”, creando una lista de listas.

La respuesta correcta es:


Línea 1: for i in lineas:
Línea 2:   base_de_datos.append(i.split(“;”))

https://ecursos.claseejecutiva.cl/mod/quiz/review.php?attempt=2041620&cmid=818227 4/10
2/7/2020 Cuestionario - Módulo 4: Revisión del intento

Pregunta 5
¿Cuál de las siguientes líneas de código me permite imprimir en consola, la información del último empleado
Correcta de la lista de listas “base_de_datos?
Puntúa 2,0 sobre 2,0
Seleccione una:

a.
print(base_de_datos[base_de_datos.len()-1])

b.
print(base_de_datos[base_de_datos.len()-1])

c.
print(base_de_datos[len(base_de_datos)-1])

d.
print(base_de_datos[len(base_de_datos)])

Respuesta correcta

La respuesta correcta es 


print(base_de_datos[len(base_de_datos)-1])
Esto ocurre porque:
• len(base_de_datos) nos permite obtener la cantidad de elementos de la variable base_de_datos.
•base_de_datos[len(base_de_datos)-1] nos permite obtener el último elemento de la lista de listas
base_de_datos, que corresponde a la información del último empleado. Esto es lo que imprimimos
nalmente mediante el comando print().

La respuesta correcta es:


print(base_de_datos[len(base_de_datos)-1])

https://ecursos.claseejecutiva.cl/mod/quiz/review.php?attempt=2041620&cmid=818227 5/10
2/7/2020 Cuestionario - Módulo 4: Revisión del intento

Pregunta 6
Si sabemos que la empleada de nombre “Paula Andrea Araya Rojas” está en la la 251
Correcta
¿Cuál de estas opciones representa al código que imprime en consola el siguiente string?
Puntúa 2,0 sobre 2,0
“Paula Andrea Araya Rojas , con RUT 10.912.836-4, empezó a trabajar en la empresa el 04/06/2009”

Puedes asumir que la información de los empleados se encuentra en la lista de listas “base_de_datos

Seleccione una:

a. print(base_de_datos[250][1]+”, con RUT “+base_de_datos[250][0]+”, empezó a trabajar en la empresa el


“+base_de_datos[250][5]) 

b.
print(base_de_datos[250][2]+”, con RUT “+base_de_datos[250][1]+”, empezó a trabajar en la empresa el
“+base_de_datos[251][6])

c. print(base_de_datos[251][1]+”, con RUT “+base_de_datos[250][0]+”, empezó a trabajar en la empresa el


“+base_de_datos[251][5])

d.
print(base_de_datos[251][1]+”, con RUT “+base_de_datos[251][0]+”, empezó a trabajar en la empresa el
“+base_de_datos[250][5])

Respuesta correcta

La respuesta correcta es:


print(base_de_datos[250][1]+”, con RUT “+base_de_datos[250][0]+”, empezó a trabajar en la empresa el
“+base_de_datos[250][5])
Esto dado que la la 251 en la base de datos corresponde a la 250 en la lista de listas (ya que se empiezan
a contar desde 0). Además:
•El RUT está en la columna 0 de la lista de listas
•El nombre está en la columna 1 de la lista de listas
•La fecha de contratación está en la columna 5 de la listas de lista
•Todos los anteriores porque las columnas también se empiezan a contar desde 0.

La respuesta correcta es: print(base_de_datos[250][1]+”, con RUT “+base_de_datos[250][0]+”, empezó a


trabajar en la empresa el “+base_de_datos[250][5])

https://ecursos.claseejecutiva.cl/mod/quiz/review.php?attempt=2041620&cmid=818227 6/10
2/7/2020 Cuestionario - Módulo 4: Revisión del intento

Pregunta 7
Si sabemos que:
Incorrecta •La información de los empleados se encuentra en la lista de listas “base_de_datos”
Puntúa 0,0 sobre 2,0 •El año actual es 2018.
Entonces: 
¿Cuál de las siguientes opciones corresponde a las líneas de código faltantes para poder crear una nueva
columna que indique la cantidad de años trabajados?
El código a completar es el siguiente:
for linea in base_de_datos:
  año_contratacion = int(linea[5].split("/")[2]))

   (línea 1)
   (línea 2)

Seleccione una:

a.
Línea 1: años_de_trabajo = 2018-año_contratacion
Línea 2: linea.append(año_contratacion)

b.
Línea 1: años_de_trabajo = 2018-año_contratacion
Línea 2: base_de_datos[linea] = años_de_trabajo

c.
Línea 1: años_de_trabajo = 2018-año_contratacion
Línea 2: linea.append(años_de_trabajo)

d.
Línea 1: años_de_trabajo = 2018-año_contratacion
Línea 2: base_de_datos.append(años_de_trabajo)

Respuesta incorrecta.

La respuesta correcta es:


1.  for linea in base_de_datos:
2.       año_contratacion = int(linea[5].split("/")[2]))
3.       años_de_trabajo = 2018-año_contratación
4.       linea.append(años_de_trabajo)
En este código se hace lo siguiente:

•En la línea 1:
se hace un for que recorre todos los elementos de la lista de listas base_de_datos. Cada elemento
representa a un empleado con sus características correspondientes

•En la línea 2:
Se extrae la información de la columna 5 (Fecha de contratación)
Se hace un split con el carácter “/” a la fecha de contratación. Esto crea una lista
Se extrae el elemento en la posición 2 de la lista anterior, este corresponde al año de contratación
El año de contratación se transforma a entero (ya que era de tipo texto) y se almacena en la variable
año_contratación

•En la línea 3
se crea la variable años_de_trabajo, que corresponde a la resta entre el año actual (2018) y el año de
contratación (que está en la variable año_contratación).

•En la línea 4:
Añadimos a cada línea variable años_de_trabajo con el comando. Esto se hace mediante la función
append en la variable linea, que es una lista que equivale a cada la de base_de_datos. Mediante lo
anterior, se añade una columna nueva a cada una de estas las.

La respuesta correcta es:


Línea 1: años_de_trabajo = 2018-año_contratacion
Línea 2: linea.append(años_de_trabajo)

https://ecursos.claseejecutiva.cl/mod/quiz/review.php?attempt=2041620&cmid=818227 7/10
2/7/2020 Cuestionario - Módulo 4: Revisión del intento

Pregunta 8
Se puede asumir que:
Incorrecta •La información de los empleados se encuentra en la lista de listas “base_de_datos”. Cada la de esta lista de
Puntúa 0,0 sobre 2,0 lista corresponde a un empleado y sus columnas corresponden a sus características.
•¿Cuál es el problema del siguiente código al intentar guardar el valor de base_de_datos en un archivo de
tipo CSV?
archivo_guardar = open("archivo_base_de_datos.csv","w")

for fila in base_de_datos:

archivo_guardar.write(fila+"\n")

archivo_guardar.close()

Seleccione una:

a.
El archivo abierto no se cierra, por lo tanto no se guarda lo que se escribe en él.

b.
En el archivo "archivo_base_de_datos.csv", no se guarda la lista de listas base_de_datos en formato CSV.

c.
No se guardan todas las las de base_de_datos

d. "archivo_base_de_datos.csv" debe abrirse en modo "o", de "open".

Respuesta incorrecta.

Respuesta correcta

El problema de este código:

archivo_guardar = open("base_de_datos.csv","w")

for la in base_de_datos:

    archivo_guardar.write( la+”\n”)

archivo_guardar.close()

Es que al pasar como parámetro la variable la a la función write, esta variable se escribe directamente en
el archivo. Como la representa a una lista, que se ve de esta forma:

[“16.533.123-1”,”Juan Andrés González Henríquez”,”31/07/1991”,27,500000,”03/01/2015”]

Esto es lo que se verá nalmente en el archivo. Si bien se guarda la información de cada empleado por
la, y la información de cada columna está separada por comas, tiene los caracteres "[" y "]" (parentesis
cuadrados o "corchetes") al inicio que no son parte del formato CSV.

La respuesta correcta es:


En el archivo "archivo_base_de_datos.csv", no se guarda la lista de listas base_de_datos en formato CSV.

https://ecursos.claseejecutiva.cl/mod/quiz/review.php?attempt=2041620&cmid=818227 8/10
2/7/2020 Cuestionario - Módulo 4: Revisión del intento

Pregunta 9
Si sabemos que 
Correcta
•La información de los empleados se encuentra en la lista de listas “base_de_datos”
Puntúa 2,0 sobre 2,0 •De pronto, nos damos cuenta que algunas de las las del archivo CSV vienen en el siguiente formato:

\t16.533.123-1;Juan Andrés González Henríquez;31/07/1991;27;500000;03/01/2015\n


•Es decir, el RUT viene “sucio” en algunas las.
¿Cuál de estas opciones corresponde a las líneas de código faltantes para poder limpiar la columna en cada
una de las las?

Seleccione una:

a.
for linea in base_de_datos:

linea[0] = linea[0].strip()

b.
for linea in base_de_datos:

linea[0] = linea.strip()

c.
for linea in base_de_datos:

linea[1] = linea[1].strip()

d.
for linea in base_de_datos:

linea = linea[0].strip()

Respuesta correcta

Respuesta correcta
Recordemos que la función strip() remueve los caracteres especiales como “\n”,”\t” (entre otros) al
principio y nal de un string

1. for linea in base_de_datos:


2.          linea[0] = linea[0].strip()
En el código anterior, se hace un for que recorre todas las las de la matriz base_de_datos. Luego, en
cada la, se obtiene la primera columna (en la posición 0), y se aplica la función strip().

Esta función removerá el carácter “\t” en caso de que exista.

Luego, se asigna el RUT limpio nuevamente a la primera columna, para que base_de_datos esté
nalmente limpia.

La respuesta correcta es:


for linea in base_de_datos:

linea[0] = linea[0].strip()

https://ecursos.claseejecutiva.cl/mod/quiz/review.php?attempt=2041620&cmid=818227 9/10
2/7/2020 Cuestionario - Módulo 4: Revisión del intento

Pregunta 10
Indique verdadero o falso si el siguiente código puede guardar matriz_de_datos en un archivo en formato
Correcta CSV:
Puntúa 2,0 sobre 2,0 archivo_guardar = open("base_de_datos.csv","w")

for fila in matriz_de_datos:


fila_para_escribir = ""

for i in range(0,len(fila)):
if i == len(fila)-1:
fila_para_escribir += str(fila[i])
else:
fila_para_escribir += fila[i]

fila_para_escribir +=fila+"\n"

archivo_guardar.write(fila_para_escribir)

archivo_guardar.close()

Seleccione una:
Verdadero
Falso 

La respuesta correcta es Falso.


for la in matriz_de_datos:
la_para_escribir = ""
for i in range(0,len( la)):
if i == len( la)-1:
la_para_escribir += str( la[i])
else:
la_para_escribir += la[i]
la_para_escribir += "\n"
archivo_guardar.write( la_para_escribir)
archivo_guardar.close()

La la 8 debería ser:
la_para_escribir += str( la[i]) + “;”

Como se puede ver en las clases en el ejemplo práctico. Esto sirve para poder separar la información de
cada columna con un “;”, y así respetar el formato CSV.

La respuesta correcta es 'Falso'

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

También podría gustarte