Programación 4
|
|
Título del Test:
![]() Programación 4 Descripción: Programación 4 |



| Comentarios |
|---|
NO HAY REGISTROS |
|
Eres un ingeniero con un script. Este script debe gestionar varios parámetros de configuración como el servidor de la base de datos, el puerto, el nombre de usuario, la contraseña y varias claves de API para servicios externos. Necesitas una forma de almacenar estos parámetros que permita un acceso fácil y legible por su nombre. ¿Cuál es la estructura de datos más idónea dentro de tu script para mantener estos parámetros de configuración?. Una lista de cadenas, donde cada cadena es un par clave=valor. Un diccionario, donde almacenar pares clave-valor. Múltiples variables globales, una para cada parámetro de configuración. Una tupla con todos los valores de configuración. Como analista de Sistemas de Información Geográfica (GIS), estás diseñando la estructura de datos para una aplicación que gestiona la ubicación de infraestructuras críticas (hospitales, centrales eléctricas, etc.). Para cada ubicación, necesitas almacenar su nombre (que servirá como clave de búsqueda) y sus coordenadas geográficas (latitud y longitud), que forman un par inseparable y fijo. ¿Cómo deberías estructurar tus datos en Python para almacenar una colección de estas ubicaciones, permitiendo una búsqueda rápida por nombre y asegurando que las coordenadas no se puedan alterar?. Una lista de listas, donde cada sub-lista contiene el nombre, la latitud y la longitud. Un diccionario donde las claves son los nombres de las ubicaciones y los valores son listas de dos elementos [latitud, longitud]. Un diccionario donde las claves son los nombres de las ubicaciones y los valores son tuplas de dos elementos (latitud, longitud). Una lista de diccionarios, donde cada diccionario representa una ubicación con claves 'nombre', 'latitud' y 'longitud'. Formas parte de un equipo de ciencia de datos y tu primera tarea es preprocesar un conjunto de datos de comentarios de usuarios para un futuro análisis de sentimientos. Los comentarios vienen en un formato muy "sucio": contienen espacios en blanco al principio y al final, usan mayúsculas y minúsculas de forma inconsistente y tienen caracteres especiales irrelevantes (ej: !, ?, #). El objetivo es normalizarlos. ¿Qué secuencia de métodos de cadenas (strings) en Python es la más efectiva para limpiar y estandarizar cada comentario?. Convertir la cadena a una lista de caracteres, usar un bucle... y reconstruir con join(). La opción A pero empleando replace() para eliminar caracteres no deseados como primer paso. Usar split() para dividir el comentario en palabras y luego join() para volver a unirlo. Primero lower() para convertir a minúsculas, luego strip() para eliminar espacios en los extremos y finalmente replace() en un bucle para quitar cada carácter no deseado. Estás creando un script para buscar archivos .log en un directorio y todos sus subdirectorios. Quieres que tu programa funcione de una manera muy específica: al entrar en un directorio, debe analizar inmediatamente sus subdirectorios antes de volver atrás a explorar otras carpetas que estaban al mismo nivel. Este comportamiento de "ir hasta el fondo" primero es muy intuitivo. Para gestionar la lista de "directorios pendientes por visitar", ¿qué estructura de datos se adapta mejor a esta lógica de "el último directorio que encontré es el primero que visito"?. Una cola (queue). Una pila (stack). Un diccionario donde se marca si ya se ha visitado una carpeta. Una lista ordenada por la fecha de modificación de los directorios. Como ingeniero de software, estás desarrollando una capa de acceso a datos para una aplicación. Una de las funciones debe conectarse a una base de datos de clientes, extraer un registro específico y pasarlo a otras partes del programa para su visualización. Es fundamental garantizar que los datos del cliente (ID, nombre, email, fecha de registro), una vez leídos, no puedan ser modificados accidentalmente por otras funciones. ¿Qué estructura de datos de Python deberías elegir para representar un único registro de cliente de manera que sus campos sean inmutables?. Un diccionario, porque permite un acceso semántico a los campos por su nombre (cliente['email']). Una tupla, donde el acceso se realiza por índice. Una lista, donde cada posición corresponde a un campo. Una clase Cliente con atributos para cada campo. Estás trabajando en un sistema de aprendizaje automático que necesita procesar un conjunto de datos con miles de imágenes. Sin embargo, cargar todas las imágenes en la memoria RAM a la vez no es posible. La solución es procesarlas en lotes (o batches) de, por ejemplo, 128 imágenes cada uno. Tienes una lista con las rutas de todos los archivos de imagen. ¿Cómo puedes generar eficientemente los lotes a partir de la lista principal de rutas de imágenes?. Crear cada lote utilizando un bucle que extrae 128 elementos de la lista original usando el método .pop() en cada iteración. Utilizar un bucle for con un range() que avance en pasos de 128 y usar el rebanado de listas (slicing) para extraer el lote correspondiente. Usar pop(0) 128 veces en un bucle para extraer los elementos del principio de la lista original y formar un lote. Dividir la lista en 128 sub-listas. Trabajas como desarrollador en un proyecto de smart city para optimizar el tráfico. Cada sensor en la red genera un paquete de datos con un ID único, una marca de tiempo, y una lectura de congestión. Necesitas un sistema en memoria que permita acceder de forma casi instantánea a la última lectura de un sensor utilizando únicamente su ID como referencia. La eficiencia en la consulta es crítica para que el sistema de control de semáforos pueda reaccionar en tiempo real a los cambios. ¿Qué estructura de datos de Python sería la más eficiente para almacenar y consultar la última lectura de cada sensor por su ID?. Una lista de tuplas, donde cada tupla contiene (ID_sensor, lectura). Un diccionario donde las claves son los IDs de los sensores y los valores son las lecturas correspondientes. Una cola (queue) para procesar los datos en el orden en que llegan. Una lista que se mantiene ordenada por el ID del sensor. Estás trabajando como desarrollador front-end en una plataforma de e-commerce. Se te pide implementar la funcionalidad de "artículos vistos recientemente", que debe mostrar los últimos 5 productos que un usuario ha visitado. El producto más reciente debe aparecer siempre el primero. Si la lista ya contiene 5 artículos, al ver uno nuevo, este se añade al principio y el más antiguo (el último de la lista) se elimina. Cuando un usuario visita un nuevo producto, ¿qué combinación de operaciones de lista en Python implementaría correctamente esta lógica?. Usar append(nuevo_producto) para añadir el nuevo producto al final de la lista. Emplear el método extend() con una lista que solo contiene el nuevo producto. Usar insert(0, nuevo_producto) para añadir el elemento al principio y luego, usar pop() para eliminar el último elemento. Convertir la lista a un conjunto (set) para añadir el nuevo producto. Como ingeniera biomédica, estás programando un software para un dispositivo de electrocardiograma (ECG). El dispositivo captura la señal eléctrica del corazón como una secuencia continua de valores de voltaje numéricos. Para eliminar el ruido, necesitas aplicar un filtro de media móvil, que promedia los valores dentro de una "ventana" deslizante de, por ejemplo, 5 puntos a lo largo de toda la señal. ¿Cómo representarías de manera más efectiva un segmento de la señal de ECG para poder aplicar operaciones numéricas de forma eficiente?. Una cadena de caracteres donde los números están concatenados. Una tupla de números. Una lista o un array de números de punto flotante. Un diccionario donde las claves son marcas de tiempo y los valores son las lecturas. Eres un analista de datos y has procesado una gran cantidad de información que ahora reside en una lista de listas, donde cada sub-lista representa una fila de datos numéricos y de texto. Tu siguiente tarea es exportar estos datos a un archivo de texto plano en formato CSV (valores separados por comas), donde cada valor en una fila esté separado por una coma y cada fila termine con un salto de línea. ¿Qué combinación de métodos de cadena y operaciones de fichero es la más eficiente para generar el contenido del CSV a partir de tu lista de listas?. Usar bucles anidados... escribiendo cada celda seguida de coma. Para cada fila (sub-lista), convertir cada elemento a cadena, y luego usar el método ",".join() sobre la lista de cadenas resultante para crear la línea completa. Concatenar manualmente cada elemento usando el operador +. Escribir la representación de la lista de listas directamente usando write(str(datos)). Estás integrando en tu aplicación una API de terceros que devuelve datos en formato JSON. La API retorna un diccionario con información de un usuario, pero algunos campos, como 'telefono', son opcionales y pueden no estar presentes en la respuesta. Tu código debe extraer el número de teléfono, pero si no existe, debe asignar un valor por defecto, como 'No disponible', sin que el programa se interrumpa por un KeyError. ¿Cuál es la forma más segura y concisa de acceder al campo 'telefono' de un diccionario de respuesta de la API, proporcionando un valor por defecto?. Acceder directamente con datos['telefono'] dentro de un bloque try...except KeyError. Comprobar primero si la clave existe con if 'telefono' in datos: y luego acceder al valor. Usar el método get(), como en datos.get('telefono', 'No disponible'). Iterar sobre todas las claves del diccionario con for clave in datos.keys()... En tu rol como ingeniero de sistemas, se te ha encargado diseñar el núcleo de un servicio de impresión para una gran corporación. El sistema debe recibir solicitudes de impresión de cientos de empleados y gestionarlas de manera justa. El requisito principal es que los trabajos se procesen estrictamente en el orden en que fueron enviados por los usuarios, sin excepción. ¿Cuál es la estructura de datos más apropiada para administrar la lista de trabajos de impresión pendientes, asegurando un procesamiento justo?. Una cola (queue). Una pila (stack). Una lista ordenada por prioridad del usuario. Un diccionario donde la clave sea el ID del trabajo y el valor el documento. Estás contribuyendo al desarrollo de un nuevo editor de código fuente. Tu tarea es implementar una funcionalidad clave: la validación en tiempo real del balanceo de paréntesis (), corchetes y llaves {}. A medida que el programador escribe, el sistema debe ser capaz de determinar si cada símbolo de apertura tiene su correspondiente símbolo de cierre en el orden correcto, ignorando el resto del código. ¿Qué estructura de datos es la más adecuada para implementar el algoritmo que verifica el correcto anidamiento y cierre de estos símbolos?. Una pila (stack), que sigue el principio LIFO (Last-In, First-Out). Una cola (queue), ya que procesa los símbolos en el orden en que aparecen (FIFO). Un diccionario para contar la cantidad de apariciones de cada tipo de símbolo. Una lista simple donde se añaden todos los símbolos. Eres un analista de ciberseguridad y estás revisando un archivo de log de un servidor web que contiene miles de líneas. Cada línea representa una solicitud, y necesitas identificar rápidamente todas las direcciones IP que intentaron acceder a una ruta restringida, como /admin. Tu objetivo es escribir un script en Python que sea no solo funcional, sino también conciso y fácil de leer para tus colegas, siguiendo las mejores prácticas del lenguaje. ¿Cuál es la forma más idiomática y eficiente en Python para generar una lista con las IPs únicas que intentaron acceder a '/admin' desde una lista de logs ya cargada en memoria?. Utilizar un bucle for tradicional con una sentencia if para comprobar cada línea... Usar una expresión regular para encontrar todas las IPs en el texto y luego filtrarlas. Emplear una lista por comprensión que filtre las líneas que contienen '/admin' y extraiga la IP de cada una, para luego convertir la lista resultante a un conjunto (set). Definir una función que reciba una línea de log y devuelva la IP... Luego, usar map(). |




