Parcialito 1 - 2023b - Tema 1#
Ejercicio 1#
Una tienda de electrónica necesita manejar la información de sus productos, para lo cual se requiere un programa en Python que defina una lista de diccionarios que contenga la información de cada artículo como se ve en el siguiente ejemplo:
items = [
{'nombre': 'smartphone', 'precio': 300000.0, 'stock': 50},
{'nombre': 'tv', 'precio': 350000.0, 'stock': 15},
{'nombre': 'notebook', 'precio': 550000.0, 'stock': 10},
{'nombre': 'tablet', 'precio': 550000.0, 'stock': 0},
]
-
Defina una función info_producto(nombre,items) que reciba la lista de items y el nombre del producto a consultar. La función debe retornar el diccionario correspondiente al producto indicado.
-
Implementar un programa principal que solicita al usuario el nombre de un producto desde la terminal e informe un resumen con su precio y disponibilidad, como se indica en los ejemplos. Si el producto no está en la lista, debe devolver un mensaje advirtiendo que el producto no se encuentra. Debe cumplir con el siguiente formato de ejecución:
Ingrese el nombre del producto: > SmartPhone Producto: SMARTPHONE, Precio: $300000.0, Stock: 50 unidades disponibles
Ejercicio 2#
Se desea pedir una lista de nombres y apellidos al usuario cumpliendo los siguientes requerimientos:
-
Crear una función cargar_nombres(), que solicite por terminal Apellido y Nombre de una persona, separados por el caracter “,” (coma) y retorne una lista de tuplas (ver ejemplo). Luego de cada ingreso, debe volver a solicitar el siguiente hasta que el usuario ingrese el caracter “q” para concluir. Los strings deben guardarse con la primer letra en mayúscula y sin espacios en los extremos. La ejecución debe cumplir con el siguiente formato:
Comenzando la carga de datos... Ingrese nombre y apellido (q para terminar): Rey, Juan Ingrese nombre y apellido (q para terminar): de la Fuente,ana Ingrese nombre y apellido (q para terminar): Ortiz,carlos Ingrese nombre y apellido (q para terminar): q Finalizó la carga de datos
En este caso, la lista retornada sería:
-
Escriba un programa que imprima en pantalla la información de todos los nombres ingresados utilizando la función del ejercicio 1. La ejecución debe mostrar el siguiente formato:
Ejercicio 3#
Un archivo en formato CSV, como se muestra a continuación, contiene canciones (nombre, duración, artista).
canciones.csv
Wicked,2:53,Future
Cudi Montage,3:16,KIDS SEE GHOSTS
Cellular,2:58,King Krule
The Birthday Party,4:45,The 1975
One,4:36,U2
-
Escribir un programa que solicite al usuario el nombre del archivo, lo lea e imprima por pantalla una tabla con la información de acuerdo al formato indicado más abajo. Tenga en cuenta que debe chequear que la extensión del archivo sea “.csv”, caso contrario debe volver a solicitar el archivo correcto.
Ingrese nombre del archivo: canciones.txt Error: Debe ingresar un archivo CSV Ingrese nombre del archivo: canciones.csv Name Time Artist -------------------------------------------------- Wicked 2:53 Future Cudi Montage 3:16 KIDS SEE GHOSTS Cellular 2:58 King Krule The Birthday Party 4:45 The 1975 One 4:36 U2
Nota: la primera columna posee 28 caracteres de ancho y la segunda de 6 caracteres. La línea posee 50 caracteres de largo.
Ejercicio 4#
Escriba un programa que interactúe con el usuario mediante un menú de opciones. Suponga que dispone de un diccionario quiz_1, como se indica más abajo. El diccionario contiene la pregunta, las opciones y la respuesta correcta. El programa debe imprimir el menú y esperar a que el usuario ingrese una opción. Luego debe informar si la opción ingresada es Correcta o Incorrecta, como se muestra en el ejemplo. Además debe verificarse que la opción ingresada sea válida para ese menú, caso contrario informar el error y finalizar el programa. Tenga en cuenta la modularización del problema.
quiz_1 = {
'pregunta': '¿Quién propuso el uso de la corriente alterna?',
'opciones': {1: 'Turing', 2: 'Tesla', 3: 'Edison', 4: 'Bell'},
'respuesta': 2
}
Ejemplo de ejecución del programa principal: