Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
indice:uba:ingenieria:uba-xxi:pensamiento-computacional:guias-y-resueltos:guia-5 [2025/04/29 14:28] – upadmin | indice:uba:ingenieria:uba-xxi:pensamiento-computacional:guias-y-resueltos:guia-5 [2025/04/29 17:02] (actual) – upadmin | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
====== Guía 5 ====== | ====== Guía 5 ====== | ||
- | * {{ : | + | |
===== Resueltos ===== | ===== Resueltos ===== | ||
+ | |||
+ | <file python resueltos_guia_5.py> | ||
+ | #ejercicio 1 | ||
+ | """ | ||
+ | mejor organizado sus datos. | ||
+ | a. Crear un diccionario que sirve para representar a una persona en este contexto, pensar en las | ||
+ | características que se consideren más relevantes para identificar a una persona (su nombre, | ||
+ | DNI, edad, etc). | ||
+ | b. Agregar al diccionario creado, un campo que sea otro diccionario y sirva para guardar el curso | ||
+ | del estudiante y sus características (año, división, orientación, | ||
+ | c. Teniendo una lista de diccionarios de estudiantes, | ||
+ | e imprimirla por pantalla. """ | ||
+ | |||
+ | #a) | ||
+ | persona = {" | ||
+ | |||
+ | #b) | ||
+ | persona[" | ||
+ | |||
+ | print(persona) | ||
+ | |||
+ | persona1 = {" | ||
+ | persona2 = {" | ||
+ | persona3 = {" | ||
+ | persona4 = {" | ||
+ | |||
+ | lista_personas = [persona1, persona2, persona3, persona4] | ||
+ | |||
+ | #c) | ||
+ | edad = 0 | ||
+ | for i in lista_personas: | ||
+ | if i[" | ||
+ | edad = i[" | ||
+ | persona_mayor_edad = i | ||
+ | |||
+ | print(persona_mayor_edad) | ||
+ | print(persona_mayor_edad[" | ||
+ | |||
+ | #ejercicio 2 | ||
+ | """ | ||
+ | necesita luz solar o no, y el precio. (OBSERVACIÓN: | ||
+ | verdad o no?). Ahora se necesita un sistema que guarde las plantas a medida que van llegando. Se pide | ||
+ | hacer una función que reciba la lista de diccionarios de plantas, y los datos de la planta nueva y agregue | ||
+ | esa planta a la lista de diccionarios. """ | ||
+ | |||
+ | def guardar_plantas(lista_plantas, | ||
+ | planta_nueva = { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | lista_plantas.append(planta_nueva) | ||
+ | |||
+ | plantas = [] | ||
+ | print(plantas) | ||
+ | guardar_plantas(plantas, | ||
+ | guardar_plantas(plantas, | ||
+ | print(plantas) | ||
+ | |||
+ | |||
+ | #ejercicio 3 | ||
+ | """ | ||
+ | la siguiente información: | ||
+ | ● Nombre del producto | ||
+ | ● Precio por unidad | ||
+ | ● Cantidad | ||
+ | Se pide hacer una función que reciba el ticket y devuelva el monto total a pagar. """ | ||
+ | |||
+ | productos = [] | ||
+ | |||
+ | def agregar_producto(lista, | ||
+ | | ||
+ | | ||
+ | | ||
+ | print(productos) | ||
+ | |||
+ | agregar_producto(productos, | ||
+ | agregar_producto(productos, | ||
+ | |||
+ | print(productos) | ||
+ | |||
+ | |||
+ | def calculando_ticket(lista): | ||
+ | monto_ticket = 0 | ||
+ | for i in lista: | ||
+ | monto_ticket += i[" | ||
+ | return(monto_ticket) | ||
+ | |||
+ | monto = calculando_ticket(productos) | ||
+ | print(monto) | ||
+ | |||
+ | |||
+ | #ejercicio 4 | ||
+ | """ | ||
+ | para cada una es: el nombre de la serie, año en que salió, y la puntuación que le puso del 1 al 10. Hace | ||
+ | mucho que quiere que Tomás empiece a ver las películas que ella considera que son las mejores que vio. | ||
+ | Hacer una función que reciba el diccionario de las películas que vió Sol, y que devuelva una nueva lista | ||
+ | de diccionarios donde sólo estén las películas que tienen puntaje mayor a 7. """ | ||
+ | |||
+ | peliculas = [{" | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | lista_refinada = [] | ||
+ | |||
+ | def recomendar_peliculas(lista): | ||
+ | for i in lista: | ||
+ | if i[" | ||
+ | lista_refinada.append(i) | ||
+ | |||
+ | recomendar_peliculas(peliculas) | ||
+ | print(lista_refinada) | ||
+ | | ||
+ | |||
+ | #ejercicio 5 | ||
+ | """ | ||
+ | la siguiente información: | ||
+ | ● Nombre | ||
+ | ● Apellido | ||
+ | ● Intento | ||
+ | ● Nota | ||
+ | Donde " | ||
+ | primer recuperatorio y 3 si es el segundo recuperatorio. | ||
+ | Se pide hacer una función que, dado esta lista de diccionarios, | ||
+ | primera oportunidad que rindieron los alumnos. | ||
+ | ¿Cómo harían para generalizar la función y que el intento sea parametrizable? | ||
+ | solamente sirve para el intento 1, sino que también pueda servir para los demás. """ | ||
+ | |||
+ | def promedio(notas, | ||
+ | total = 0 | ||
+ | cantidad_notas = 0 | ||
+ | for i in notas: | ||
+ | if(i[" | ||
+ | cantidad_notas += 1 | ||
+ | total += i[" | ||
+ | return total / cantidad_notas | ||
+ | |||
+ | lista_notas = [ | ||
+ | {" | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | |||
+ | {" | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | |||
+ | {" | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | |||
+ | {" | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | |||
+ | {" | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ] | ||
+ | |||
+ | print(promedio(lista_notas, | ||
+ | |||
+ | |||
+ | #ejercicio 6 | ||
+ | """ | ||
+ | chequeo de la entrega se guarda en una lista de diccionarios, | ||
+ | información de cada producto: | ||
+ | ● Código del producto | ||
+ | ● Fecha de vencimiento | ||
+ | ● Si pasó el chequeo de calidad o no | ||
+ | Se pide hacer una función que reciba esta lista de diccionarios y elimine todos los productos que no | ||
+ | pasaron el chequeo de calidad. Devolver en una tupla el diccionario con los elementos eliminados y la | ||
+ | cantidad de elementos que quedaron en el diccionario. | ||
+ | Dado que la tupla es inmutable y nosotros no podemos ir agregando elementos a una tupla, ¿En qué | ||
+ | momento deberíamos crear la tupla? """ | ||
+ | |||
+ | entrega_programada = [{" | ||
+ | {" | ||
+ | {" | ||
+ | {" | ||
+ | {" | ||
+ | {" | ||
+ | |||
+ | def eliminar_defectuosos(lista): | ||
+ | productos_defectuosos = [] | ||
+ | productos_a_entregar = [] | ||
+ | for i in lista: | ||
+ | if i[" | ||
+ | productos_defectuosos.append(i) | ||
+ | else: | ||
+ | productos_a_entregar.append(i) | ||
+ | productos_defectuosos.append(len(productos_defectuosos)) | ||
+ | productos_a_entregar.append(len(productos_a_entregar)) | ||
+ | return tuple(productos_defectuosos) , tuple(productos_a_entregar) | ||
+ | |||
+ | resultados = eliminar_defectuosos(entrega_programada) | ||
+ | |||
+ | print() | ||
+ | print(resultados[0]) | ||
+ | print() | ||
+ | print(resultados[1]) | ||
+ | print() | ||
+ | |||
+ | #ejercicio 7 | ||
+ | """ | ||
+ | todas las maratones que corrió, de la cual a su vez se quiere tener el nombre de cada una, el año, el | ||
+ | puesto en que salió el maratonista, | ||
+ | a. Crear el diccionario que represente esta situación. | ||
+ | AYUDA: Queremos guardar muchos maratonistas, | ||
+ | maratonista, | ||
+ | maratones? ¿Y qué tipo de dato es la maratón en sí? | ||
+ | b. Teniendo una lista de diccionarios de maratonistas, | ||
+ | c. Ordenar las maratones de cada maratonista según el tiempo que tardó en completar cada una | ||
+ | de forma ascendente. """ | ||
+ | |||
+ | #a) | ||
+ | maratonistas = [{" | ||
+ | {" | ||
+ | {" | ||
+ | ] | ||
+ | |||
+ | #b) | ||
+ | def nombres(diccionario): | ||
+ | return diccionario[" | ||
+ | |||
+ | maratonistas.sort(key = nombres) | ||
+ | print(maratonistas) | ||
+ | |||
+ | #c) | ||
+ | def tiempos(diccionario): | ||
+ | return diccionario[" | ||
+ | |||
+ | for i in maratonistas: | ||
+ | i[" | ||
+ | print(maratonistas) | ||
+ | </ |