option
Cuestiones
ayuda
daypo
buscar.php

DAW PYTHON RA5 PARTE 1

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
DAW PYTHON RA5 PARTE 1

Descripción:
DAW PYTHON RA5 PARTE 1

Fecha de Creación: 2026/02/21

Categoría: Informática

Número Preguntas: 50

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

¿Cuándo se llama a input("¿Nombre? "), ¿qué tipo de dato se obtiene siempre al leer del teclado?. Devuelve siempre un entero leído desde la consola. Devuelve siempre una cadena de texto procedente de la entrada. Devuelve siempre un número en coma flotante como resultado. Devuelve una lista de caracteres generada por cada pulsación.

¿Qué efecto tiene llamar a .strip() sobre el texto recibido de input()?. Elimina todas las vocales que aparezcan en la cadena de caracteres. Borra cualquier carácter que no sea dígito en el contenido de la cadena. Quita espacios en blanco, tabs y saltos al principio y al final. Convierte la cadena a minúsculas y recorta los caracteres sobrantes.

Si queremos comparar una respuesta de sí/no ignorando mayúsculas y acentos, ¿qué patrón es más apropiado?. Usar strip seguido de replace para quitar todas las letras acentuadas. Transformar con upper y comparar solo con caracteres en mayúscula ASCII. Convertir con float y luego verificar si el valor es igual a uno o cero. Aplicar strip y casefold antes de comparar con las variantes de sí y no.

Al convertir texto tecleado en un entero con seguridad, ¿qué enfoque es más recomendable?. Usar int dentro de un bloque try y capturar ValueError si falla la conversión. Aplicar directamente int sobre el resultado de input sin ningún control adicional. Transformar primero con float y luego castear siempre a int automáticamente. Ignorar errores de conversión y continuar el programa como si nada sucediera.

¿Qué paso extra es habitual si queremos admitir comas en números decimales escritos por la persona usuaria?. Aplicar strip y convertir directamente con int para evitar problemas de coma. Reemplazar los puntos por comas antes de llamar a la función float incorporada. Reemplazar las comas por puntos en el texto y luego usar float para convertir. Multiplicar siempre el número introducido por diez para compensar la coma decimal.

¿Por qué es útil envolver la lectura de un entero en un bucle como en pedir_entero()?. Porque permite repreguntar de forma repetida hasta que la entrada sea realmente válida. Porque hace que input convierta automáticamente el texto en número sin errores. Porque evita que se pueda introducir cualquier tipo de dato desde el teclado. Porque reemplaza la necesidad de usar int o float para procesar la entrada.

En la función pedir_si_no, ¿qué comportamiento se busca al procesar la respuesta de la persona usuaria?. Solo aceptar exactamente la letra s en minúscula y rechazar todo lo demás siempre. Aceptar cualquier palabra larga que contenga una vocal y convertirla a booleano True. Interpretar como afirmativo cualquier texto que termine en un signo de exclamación. Aceptar varias variantes de sí y no, normalizando mayúsculas y acentos con casefold.

Cuando pedimos varios enteros en la misma línea separados por espacios, ¿qué patrón se utiliza habitualmente?. Leer con input y convertir todo el texto completo con un único int aplicado una vez. Llamar a input, hacer split y aplicar int a cada fragmento, por ejemplo usando map. Usar getpass en lugar de input para ocultar los valores que se están introduciendo. Dividir el texto con split y almacenarlo tal cual sin ninguna conversión numérica.

¿Qué situación provoca normalmente una excepción EOFError al usar input() en un programa de consola?. Cuando la persona usuaria pulsa Ctrl+C para interrumpir la ejecución del programa. Cuando el programa intenta convertir un texto no numérico mediante int o float. Cuando la entrada estándar se cierra o se envía fin de fichero con Ctrl+D o Ctrl+Z. Cuando la función input recibe una cadena vacía escrita y seguida de pulsar Enter.

¿Para qué sirve principalmente la función getpass en el contexto de entrada por teclado?. Permite leer una contraseña sin mostrar en pantalla lo que se va escribiendo. Sirve para convertir automáticamente cualquier texto en un número flotante seguro. Imprime un mensaje de error cada vez que la persona introduce un dato incorrecto. Permite que input acepte caracteres acentuados en codificaciones antiguas de consola.

¿Qué hace por defecto print cuando termina de escribir un mensaje en la consola?. Añade un espacio al final y mantiene el cursor en la misma línea. No muestra nada salvo que se fuerce un salto de línea manualmente. Añade un salto de línea final a la salida antes de continuar en la siguiente línea. Borra la pantalla completa después de escribir y deja la consola en blanco.

Cuando usamos print("A", "B", "C", sep="."), ¿qué efecto tiene el argumento sep sobre la salida?. Sustituye el espacio habitual entre elementos por el texto indicado como separador. Coloca el separador seleccionado tanto al inicio como al final de toda la línea. Sustituye el salto de línea final por el separador especificado en la llamada. Inserta el separador después de cada carácter de cada palabra mostrada por pantalla.

¿Para qué sirve principalmente el argumento file en la función print según lo visto en el tema?. Permite elegir el color de texto y el estilo de la salida mostrada en la terminal. Obliga a que la salida se vacíe inmediatamente sin usar ningún tipo de búfer. Indica el tamaño máximo de caracteres que se pueden imprimir en cada llamada. Permite redirigir la salida a otro flujo como stderr en lugar de la pantalla estándar.

En el ejemplo de f-strings, ¿qué efecto tiene el especificador {puntos:.2f} dentro de la cadena?. Convierte el número en entero redondeando siempre hacia abajo sin decimales visibles. Muestra el valor como número de coma flotante con exactamente dos decimales de precisión. Transforma el valor en una cadena de texto sin aplicar ningún tipo de formato numérico. Aplica notación científica automática siempre que el número sea mayor que mil.

Cuando vemos algo como f"|{42:^7}|", ¿qué se está consiguiendo con ese formato en la impresión?. Se centra el valor dentro de un campo de anchura fija ocupando exactamente siete caracteres. Se multiplica el número por siete y se muestra el resultado con relleno automático de ceros. Se limita la salida a los siete primeros caracteres de la cadena generada en pantalla. Se obliga a que el número se alinee a la derecha ignorando cualquier otro modificador usado.

En la barra de progreso que usa print(f"Progreso: {i:3d}% ", end="", flush=True), ¿qué papel juega el carácter "\r"?. Inserta un salto de línea adicional para que cada porcentaje aparezca en una fila nueva. Hace que el texto se imprima más rápido forzando el vaciado del búfer de salida. Devuelve el cursor al inicio de la misma línea para sobrescribir el contenido anterior. Borra todo el contenido de la consola y recoloca el cursor en la parte superior de la pantalla.

En los ejemplos de colores ANSI, ¿por qué se concatena siempre RESET al final del texto coloreado?. Para cerrar automáticamente la aplicación y limpiar los recursos usados por la consola. Para convertir todos los caracteres impresos en mayúsculas antes de seguir escribiendo. Para restaurar los atributos de color y estilo de la terminal a su configuración normal. Para invertir el orden de las letras impresas y mostrar la cadena completamente al revés.

¿Qué ventaja concreta ofrece pprint frente a un print normal al mostrar diccionarios grandes?. Convierte automáticamente los diccionarios en tablas HTML listas para abrir en un navegador. Organiza las claves y valores con saltos de línea y sangrías que facilitan la lectura. Oculta todas las claves internas y solo muestra los valores numéricos más importantes. Transforma el diccionario en una cadena de bytes para enviarlo por la red sin cambios.

Si definimos ratio = 0.1234, ¿qué produce aproximadamente la expresión f"{ratio:.1%}" al imprimirla?. Muestra el valor como 0.1 seguido del símbolo de porcentaje sin ningún redondeo aplicado. Muestra un porcentaje con una cifra decimal, por ejemplo 12.3% como formato de salida. Convierte el número en una fracción exacta con denominador cien y la escribe literal. Genera un error de formato porque el especificador % no se puede usar en f-strings.

Según la sección de sorpresas comunes, ¿qué diferencia importante hay entre print(a, b) y print(a + b)?. La primera forma separa los valores con el separador sep, y la segunda concatena o suma según el tipo. La primera forma solo funciona con números y la segunda solo funciona con cadenas de texto. La primera forma imprime siempre sin salto de línea y la segunda fuerza siempre un salto extra. La primera forma muestra los tipos de las variables y la segunda muestra únicamente sus identificadores.

¿Qué describe mejor la idea de fichero de datos según el tema?. Es una variable temporal guardada solo mientras el programa se ejecuta. Es un contenedor persistente de información almacenada en disco o en dispositivos similares. Es un mensaje de error que muestra la consola cuando alguna operación falla al ejecutarse. Es un comentario interno del código que el intérprete de Python ignora por completo.

¿Qué relación correcta hay entre la extensión de un fichero y su contenido real?. La extensión determina siempre el contenido y garantiza totalmente el formato usado dentro. La extensión sugiere el formato, pero lo que manda realmente es el contenido interno. La extensión decide qué permisos de lectura o escritura tendrá el archivo dentro del sistema. La extensión es obligatoria para que el sistema operativo pueda leer el archivo.

En un fichero de texto, ¿cómo se representan los datos según se explica en el tema?. Un fichero de texto está compuesto por bytes sin ninguna codificación definida explícitamente. Un fichero de texto solo puede contener letras y nunca símbolos especiales ni números. Un fichero de texto siempre ocupa menos espacio que cualquier fichero binario equivalente. Un fichero de texto contiene caracteres representados con una codificación como UTF-8 u otra similar.

¿Qué caracteriza principalmente a un fichero CSV dentro de los formatos tabulares?. Un fichero CSV guarda filas y columnas usando un separador como la coma entre valores. Un fichero CSV guarda las imágenes comprimidas usando un encabezado binario complejo especial. Un fichero CSV solo puede contener una columna numérica sin cabeceras ni textos explicativos. Un fichero CSV siempre se interpreta igual en todos los países sin matices locales de formato.

En un CSV bien formado, ¿qué debe hacerse cuando un campo contiene el separador de columnas?. No es necesario entrecomillar nunca, aunque el campo contenga comas o saltos de línea. Si un campo contiene el separador, se escribe entre comillas para mantener la estructura correcta. Los campos con separador se descartan automáticamente para evitar desajustar las columnas. Los campos con separador deben dividirse manualmente en varias columnas diferentes siempre.

¿Qué descripción se ajusta mejor a JSON según lo presentado en la unidad?. JSON se usa solo para imágenes y sonidos guardados en formato binario comprimido especializado. JSON obliga a que las claves se escriban sin comillas y en mayúsculas de forma obligatoria. JSON representa objetos y listas con claves entre comillas dobles y tipos simples portables. JSON solo es válido dentro de navegadores y no sirve para guardarlo como archivo en disco.

¿Qué caracteriza a JSON Lines o NDJSON frente a un JSON “normal”?. En JSON Lines todos los objetos se guardan en una única estructura anidada gigantesca. En JSON Lines cada coma se reemplaza por punto y coma para ahorrar espacio de almacenamiento. En JSON Lines solo se permite almacenar números sin ninguna etiqueta de clave asociada. En JSON Lines se guarda un objeto JSON por línea, lo que resulta ideal para flujos grandes.

¿Cuál es la recomendación general sobre codificación y finales de línea si puedes elegir?. Si puedes elegir, usa UTF-8 y salto de línea simple barra n como configuración estándar. Si puedes elegir, usa una codificación aleatoria y mezcla finales de línea distintos sin control. Si puedes elegir, evita UTF-8 porque no soporta acentos ni caracteres especiales modernos. Si puedes elegir, usa siempre la codificación del sistema sin documentarla en ninguna parte.

¿Qué papel juegan los metadatos según la sección sobre esquema y contexto?. Los metadatos son opcionales y solo añaden ruido sin aportar contexto útil al archivo. Los metadatos describen esquema, tipos, unidades y origen, haciendo los datos comprensibles. Los metadatos sustituyen completamente a los datos y eliminan la necesidad de almacenarlos. Los metadatos solo sirven para cambiar el color con que se ve el fichero en el sistema.

¿Qué advertencia de seguridad se hace sobre el uso del formato Pickle en Python?. Los ficheros Pickle son ideales para intercambiar datos con servicios desconocidos en Internet. Los ficheros Pickle son siempre seguros porque solo contienen números en texto plano legible. Los ficheros Pickle deben usarse solo con archivos propios y de confianza por motivos de seguridad. Los ficheros Pickle se recomiendan como formato principal para compartir datos abiertos públicos.

Según el tema, ¿qué describe mejor la idea de registro en un programa?. Un valor numérico suelto que se guarda sin ningún contexto adicional. Un conjunto coherente de campos con nombre, tipo y significado compartido en un esquema. Un bloque de código que solo contiene funciones y variables temporales del programa. Una carpeta del sistema donde se guardan muchos ficheros distintos sin estructura fija.

¿Qué propiedad comparten todos los registros de una misma colección según se explica?. Comparten el mismo tamaño en bytes aunque tengan campos distintos y desordenados. Tienen nombres de campos distintos pero siempre almacenan exactamente los mismos valores. Comparten el mismo esquema de campos, con iguales nombres y significados acordados. Utilizan siempre formatos binarios distintos para optimizar cada registro por separado.

¿Qué ventaja principal tienen los diccionarios al usar registros en memoria en Python?. Obligan a usar siempre los mismos tipos y validan los datos automáticamente. Son muy flexibles y se serializan de forma directa a formatos como JSON estándar. Solo permiten almacenar enteros y flotantes, pero nunca cadenas de texto normales. Reordenan solos las claves para que coincidan siempre con el orden del esquema.

¿Qué característica destacada tienen los namedtuple al representar registros?. Tienen campos mutables que se pueden añadir o quitar libremente en cada instancia. Permiten acceder a los campos por nombre y son ligeros e inmutables en memoria. Solo permiten acceder a los elementos por posición numérica dentro de la tupla. Forzan automáticamente los tipos de cada campo y rechazan valores incompatibles siempre.

¿Qué aportan principalmente las dataclasses al definir registros como Alumno o Producto?. Ocultan por completo los campos internos e impiden imprimir el contenido del objeto. Ofrecen una forma clara de declarar campos, tipos y valores por defecto legibles. Crean automáticamente una base de datos en disco para almacenar todos los objetos creados. Validan tipos de manera estricta y lanzan errores sin necesidad de código adicional.

¿Cuál es el objetivo de usar TypedDict al trabajar con registros basados en dict?. Convertir todos los diccionarios en objetos inmutables que no puedan modificarse nunca. Definir la forma esperada del diccionario para que los comprobadores de tipos ayuden. Asegurar que el diccionario se guarde siempre en ficheros binarios comprimidos especiales. Evitar por completo la necesidad de escribir esquemas o documentación de los campos.

Al serializar una lista de dataclasses Producto a JSON, ¿qué patrón se presenta en el tema?. Convertir cada dataclass a dict con asdict y luego usar json.dumps sobre la lista. Guardar cada Producto con pickle y renombrar el archivo con la extensión .json manual. Escribir los atributos como texto plano con print y tratarlo como si fuera JSON válido. Usar json.dumps directamente sobre la dataclass sin ninguna conversión previa.

¿Qué papel juega csv.DictWriter en la escritura de registros Producto a un CSV?. Convierte el CSV en JSON automáticamente y reescribe el archivo completo en disco. Lee filas de un archivo y las transforma en diccionarios de Python en memoria. Toma diccionarios con los campos del producto y escribe cada registro como fila tabular. Valida los tipos numéricos de los campos y corrige los errores de conversión por sí solo.

¿Qué se recomienda hacer tras deserializar un registro desde CSV o JSON?. Ignorar los posibles valores faltantes y rellenarlos siempre con cadenas vacías sin revisar. Confiar en que todos los tipos son correctos y usar los datos sin más controles. Convertir los tipos necesarios y validar rangos o restricciones antes de seguir trabajando. Eliminar cualquier campo que no coincida exactamente con los nombres previstos en el código.

Según la sección sobre identificadores, ¿para qué sirve elegir una clave primaria como sku o dni?. Para reducir el tamaño de los ficheros eliminando campos poco utilizados en los registros. Para identificar cada registro de forma única y facilitar búsquedas, actualizaciones y borrados. Para asegurar que todos los registros tengan exactamente los mismos valores en sus campos. Para permitir que varios registros iguales se mezclen sin poder distinguirlos entre sí.

Según el tema, ¿qué devuelve principalmente la llamada open("datos.txt") cuando tiene éxito?. Devuelve directamente una lista con todas las líneas leídas desde el archivo de texto completo. Devuelve un entero con el tamaño en bytes del archivo indicado en la ruta de acceso. Devuelve un objeto fichero con el que se puede leer o escribir según el modo elegido. Lanza siempre una excepción genérica y obliga a capturar manualmente cualquier tipo de error posible.

¿Por qué es preferible usar with al trabajar con ficheros en Python?. Porque obliga a que todas las operaciones se hagan en modo binario sin conversión de texto. Porque garantiza que el fichero se cierre correctamente incluso si hay errores o returns dentro del bloque. Porque evita que se puedan lanzar excepciones y convierte todos los errores en simples avisos. Porque cambia automáticamente las rutas relativas a absolutas sin necesidad de comprobar el directorio.

¿Qué diferencia principal hay entre abrir un archivo en modo texto y en modo binario?. En modo texto se trabaja con bytes crudos y en modo binario siempre se obtienen cadenas. En ambos modos se obtienen cadenas de texto, solo cambia la velocidad de acceso al disco. En modo texto se leen y escriben str con decodificación, y en binario se manejan bytes sin traducir. En modo binario la función open deja de permitir el uso del administrador de contexto with.

Al abrir un archivo de texto, ¿por qué se recomienda especificar encoding="utf-8" de forma explícita?. Porque es una codificación estándar que soporta acentos y reduce problemas al mover archivos entre sistemas. Porque obliga a que el archivo solo contenga letras sin permitir números ni signos de puntuación. Porque desactiva el uso de búfer y fuerza que todo se escriba directamente al disco duro. Porque transforma automáticamente cualquier archivo binario en texto legible sin necesidad de conversión adicional.

¿Qué define correctamente una ruta relativa al abrir un fichero con open o pathlib?. Es una ruta que comienza siempre desde la raíz del disco y nunca desde la carpeta actual. Es una ruta que solo se puede usar en Windows porque depende de la unidad por defecto del equipo. Es una ruta interpretada respecto al directorio de trabajo actual desde donde se ejecuta el programa. Es una ruta que ignora completamente las carpetas intermedias y apunta siempre al escritorio del usuario.

¿Qué efecto tiene abrir un archivo con open("apuntes.txt", "w", encoding="utf-8", newline="\n")?. Utiliza la codificación por defecto del sistema y deja que el sistema operativo gestione los finales de línea. Rechaza cualquier carácter que no sea ASCII y sustituye los acentos por signos de interrogación. Escribe el archivo en UTF-8 y utiliza siempre "\n" como final de línea independientemente del sistema. Abre el archivo en modo binario y evita que Python realice traducción de saltos de línea internos.

¿Para qué sirve la llamada explícita a f.flush() dentro de un bloque with al escribir en un fichero?. Sirve para cerrar definitivamente el archivo y hacer que f deje de ser utilizable en el bloque. Sirve para convertir el contenido del archivo en binario incluso cuando se abrió en modo de texto. Sirve para forzar que el contenido del búfer se escriba en disco sin esperar al cierre del fichero. Sirve para deshacer la última escritura realizada y restaurar el contenido anterior del archivo.

¿Cuál de las siguientes situaciones suele producir un FileNotFoundError al intentar abrir un archivo?. Cuando la ruta indicada no existe o falta la carpeta padre donde debería estar el fichero. Cuando el archivo existe pero los permisos del usuario solo permiten lectura y no escritura directa. Cuando se abre el archivo con encoding y newline pero sin usar el parámetro errors al mismo tiempo. Cuando se utiliza with para gestionar el fichero en lugar de llamar manualmente a close al final.

¿Cuál es el propósito de usar un bloque try/finally al abrir un fichero sin with, según el tema?. Permitir que el fichero permanezca abierto indefinidamente incluso si el programa ha terminado ya su ejecución. Evitar que se puedan capturar excepciones y obligar a que el programa termine sin mensajes. Asegurar que el fichero se cierre en el bloque finally aunque ocurra un error en el código previo. Hacer que el intérprete ignore la llamada a open y simular que el archivo nunca se abrió realmente.

Según la sección 5.9, ¿qué estrategia se recomienda cuando varias partes del programa necesitan acceder al mismo archivo?. Mantener un único objeto fichero global abierto y compartirlo sin documentar quién debe cerrarlo. Abrir, usar y cerrar en el nivel más cercano al uso, o pasar rutas en lugar de objetos fichero. Pasar siempre el objeto fichero por todas las funciones y dejar que cada una lo cierre por su cuenta. Forzar que todas las funciones trabajen en modo binario para que el cierre se haga automáticamente.

Denunciar Test