option
Cuestiones
ayuda
daypo
buscar.php

Programación 2

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
Programación 2

Descripción:
Programación 2

Fecha de Creación: 2026/02/06

Categoría: Otros

Número Preguntas: 14

Valoración:(0)
COMPARTE EL TEST
Nuevo ComentarioNuevo Comentario
Comentarios
NO HAY REGISTROS
Temario:

Un ingeniero de software está definiendo la configuración de una aplicación. Necesita almacenar el número máximo de reintentos para una conexión de red, un valor que no debe ser alterado en ninguna parte del código. Aunque Python no tiene constantes en sentido estricto, el equipo sigue las convenciones de estilo (PEP 8). ¿Cuál es la forma convencional y profesional en Python de declarar una variable para que otros desarrolladores entiendan que su valor está destinado a ser constante?. Declarar la variable utilizando "type hinting" con la palabra Final... Utilizar una función "setter" privada... Declarar el nombre de la variable completamente en mayúsculas (ej: "MAX_REINTENTOS = 5"), estableciendo una convención clara y aceptada por la comunidad para indicar que, aunque técnicamente mutable, no debe ser modificada. Crear un objeto inmutable personalizado...

Un desarrollador junior está depurando un sistema de gestión de inventario en Python. El sistema maneja el stock de productos (enteros) y los precios (con céntimos). Al realizar una operación "stock * precio", el programa lanza un TypeError. El desarrollador observa que el precio se está leyendo de un archivo de texto. ¿Cuál es la causa más probable del error y cómo debería solucionarse de forma robusta?. El error se debe a que Python no puede multiplicar números enteros y decimales juntos... El problema radica en el tipado dinámico... La causa es un fallo en la lectura del archivo... El TypeError ocurre porque se está intentando multiplicar un número (stock de tipo int) por una cadena de texto (precio de tipo str). La solución correcta es convertir explícitamente el precio a un tipo numérico (float(precio)).

Un equipo de ingeniería de software está discutiendo sobre el diseño de una clase para gestionar la configuración de una aplicación (valores como puerto y modo). En el paradigma de POO, ¿cómo se denominan, respectivamente, las variables que almacenan los datos y las funciones que definen el comportamiento dentro de una clase?. Las variables se llaman parámetros y las funciones se llaman procedimientos. Las variables se llaman componentes y las funciones se llaman acciones. Las variables se llaman campos y las funciones se llaman constructores. Las variables se denominan atributos y las funciones se denominan métodos.

Un analista de datos está escribiendo un script para filtrar un conjunto de datos. El requisito es seleccionar transacciones de un cliente_vip Y (monto > 1000 O divisa == "EUR"). El analista escribe: `if monto > 1000 or divisa == "EUR" and cliente_vip`. ¿Por qué la lógica de negocio podría no estar implementándose correctamente?. El operador or siempre se evalúa antes que el operador and... El operador and tiene mayor precedencia que el or, por lo que Python evalúa primero `divisa == "EUR" and cliente_vip`. La condición se interpreta como `monto > 1000 or (divisa == "EUR" and cliente_vip)`. La expresión se evalúa estrictamente de izquierda a derecha... Python no permite combinar operadores lógicos como or y and sin anidarlos...

En una empresa de ciberseguridad se está desarrollando un script para procesar archivos de registro (logs). El script debe abrir un archivo, leer su contenido y asegurarse de que se cierre correctamente, incluso si ocurre un error (excepción). ¿Qué estructura de control de errores garantiza que el cierre del archivo se ejecute siempre?. Un bloque try...except donde el except captura cualquier Exception... Un bucle while que verifique continuamente si el archivo sigue abierto... Una estructura if-else que compruebe una variable booleana de éxito... Un bloque try...finally, donde la lógica de procesamiento del archivo se coloca dentro del "try" y la operación de cierre file.close() se implementa en el "finally".

En un proyecto de desarrollo, dos variables se inicializan: `a = [10, 20]` y `b = a`. Posteriormente, se modifica `b` añadiendo un elemento: `b.append(30)`. Se observa que la lista `a` también ha cambiado. ¿Qué concepto explica esto?. El hecho de que las variables en Python son referencias a objetos. La asignación `b = a` no crea una copia de la lista; hace que tanto a como b apunten al mismo objeto en memoria. El tipado dinámico de Python... La propagación de excepciones... El ámbito de las variables (scope)...

Una ingeniera de DevOps está escribiendo un script que comprueba el estado de varios servicios web. Debe verificar si el nombre del servicio contiene la subcadena "critical". ¿Qué operador de Python es el más adecuado para verificar si la cadena "critical" está presente dentro de la variable nombre_servicio?. El operador de igualdad ==. Una combinación de los operadores and y or. El método de cadena .find("critical"). (Nota: es válido pero la pregunta busca el operador más adecuado/legible). El operador de pertenencia "in", que permite una sintaxis: "critical" in nombre_servicio.

Una desarrolladora está creando una clase Usuario. Necesita definir un método que configure los atributos iniciales (nombre, email) automáticamente cada vez que se crea una nueva instancia. ¿Qué método debe implementar?. El constructor __init__(self, nombre_usuario, email), que se invoca automáticamente al instanciar la clase. Un método llamado configurar(self, nombre, email)... Un método estático @staticmethod create_user... El método self.inicializar()...

Un programador recibe una variable `valor` (int o float) y necesita sumarla con un entero `x` (`resultado = x + valor`). Si `x` es int y `valor` es float, ¿qué tipo de dato tendrá `resultado` y por qué?. El resultado será de tipo int... (truncamiento). La operación lanzará un TypeError... El resultado será de tipo float. Este fenómeno se debe a la conversión de tipo implícita, donde Python promueve automáticamente el operando del tipo menos preciso (int) al tipo más preciso (float). El tipo del resultado dependerá del valor específico...

Una analista financiera calcula el interés compuesto con la fórmula `A = P * (1 + r/n)**(n*t)`. Le preocupa la sub-expresión `(1 + r/n)`. ¿Es necesario el uso de paréntesis en esta sub-expresión para garantizar que la división ocurra antes que la suma?. Sí, los paréntesis son absolutamente necesarios... No, estrictamente no son necesarios en este caso aunque su uso es recomendado. El operador de división (/) tiene una precedencia mayor que el de suma (+), por lo que r/n se evaluaría primero de todos modos. Depende del intérprete de Python... No, y además no se recomienda su uso...

Un programa debe procesar una lista de pedidos. Si la lista está vacía (`pedidos == []`), debe mostrar un mensaje. ¿Cuál es la forma idiomática y preferida en Python ("pythónica") para verificar si una lista está vacía en una condición if?. if len(pedidos) == 0:. if pedidos is None:. if not pedidos:. if pedidos.empty():.

Un equipo necesita implementar una lógica para asignar una calificación final (Sobresaliente > 90, Notable 70-90, etc.). El código debe ser eficiente. ¿Qué estructura de control de flujo es la más idónea?. Una estructura if-elif-else. Una serie de sentencias if independientes... Un bucle for que itere sobre una lista de tuplas... Un diccionario...

Una aplicación web recibe el valor "False" (cadena) de un checkbox. Un desarrollador intenta usar `bool("False")`. ¿Cuál es el resultado de esta expresión en Python y por qué?. El resultado es False... El resultado es True. En Python, la conversión de una cadena a booleano evalúa si la cadena está vacía o no (una cadena no vacía es True). La expresión lanzará un ValueError... El resultado es None...

Un desarrollador debe iterar sobre una lista de usuarios para enviar notificaciones. Si el envío falla para un usuario, el script debe registrar el error y continuar con el siguiente, sin detener el bucle. ¿Cuál es la estrategia más adecuada?. Colocar todo el bucle for dentro de un único bloque try...except. Antes de entrar al bucle, verificar la validez... Dentro del bucle for, envolver la operación de envío de notificación para cada usuario individual en su propio bloque try...except. Utilizar una sentencia if-else dentro del bucle... break...

Denunciar Test