Parcialito 1 - 2025a - Tema 1#
Ejercicio 1: Amigos en casa#
Cristian está organizando una cena con amigos para este sábado a la noche y necesita definir el menú. Sus amigos tienen algunas restricciones, pero él tratará de dar lo mejor de sí para que todos se sientan a gusto.
Cristian decidió que:
- Si menos de 5 personas le confirman asistencia él preparará su especialidad, que es una colita de cuadril al horno con papas españolas y pimientos asados. En caso de que haya vegetarianos presentes, preparará además bifes de seitán a la plancha.
- En cambio, si el público es más numeroso pero no supera los 8 invitados, preparará milanesas de carne. En este caso, si hubiera vegetarianos presentes les prepararía milanesas de berenjena.
- Por último, si hay más de 8 personas, directamente preparará pizzas de distinto tipo. En este caso los vegetarianos ya estarían cubiertos, pero si llegara a asistir Alejandra tendrá que prepararle una tortilla, porque Alejandra no come pizza.
De sus amigos, los únicos vegetarianos son Chicho y Belu.
Para ayudar a Cristian en su tarea escribiremos un programa en Python. Se pide:
-
Definir una función llamada averiguar_asistentes() que pregunte al usuario si cada uno de los siguientes 9 asistentes vendrá o no:
posibles_asistentes = [ "Lucrecia", "Martín", "Alejandra", "Chicho", "Belu", "Ramiro","Felipe", "Agus", "Nicanor" ]
La interacción con el usuario deberá verse como en el siguiente cuadro:
Chequeo de asistencia: ¿Viene Lucrecia?: s ¿Viene Martín?: n ¿Viene Alejandra?: s ¿Viene Chicho?: n ¿Viene Belu?: s ¿Viene Ramiro?: n ¿Viene Felipe?: n ¿Viene Agus?: s ¿Viene Nicanor?: n
Esta función no recibirá ningún parámetro, y deberá devolver como resultado una lista conteniendo los nombres de las personas que asistirán a la cena. Por ejemplo, para las respuestas ingresadas anteriormente, la función debería devolver:
-
Ahora vamos a implementar una función que_cocinar(listado_asistentes) que reciba una lista con los nombres de los asistentes y devuelva una lista con los nombres de los platos que se deberán cocinar. La función deberá seguir la lógica que describimos al comienzo del enunciado, y devolverá una lista conteniendo uno o más de los siguientes elementos, de acuerdo a esa lógica:
"colita"
,"bifes de seitán"
,"milanesas de carne"
,"milanesas de berenjena"
,"pizzas"
,"tortilla"
. Por ejemplo, para el listado ejemplificado antes, el resultado de esta función debería ser[ "colita", "bifes de seitán" ]
, dado que habrá menos de 5 invitados y además hay vegetarianos en el grupo. -
Implementar un código principal que averigue el listado de asistentes y determine qué deberá cocinar Cristian, haciendo uso de las dos funciones definidas anteriormente. El programa deberá finalmente imprimir por pantalla los platos a cocinar.
Ejercicio 2: Lollapalooza#
Vamos a escribir un programa en Python que ayude a la gente a decidir qué entradas comprar para el Lollapalooza. El programa le preguntará al usuario qué bandas quiere escuchar, y en base a ello le indicará cuáles son los daypasses que deberá adquirir.
Como punto de partida, dispondremos de un diccionario ya construido llamado dicc_artistas, que indicará para cada artista que participará del festival cuál es el día en que participará. Es decir que el diccionario tendrá el siguiente aspecto:
dicc_artistas = {
"Charlotte de Witte": "viernes",
"The Marias": "sábado",
"Barry Can't Swim": "viernes",
"Olivia Rodrigo": "domingo",
…
}
-
En la primera parte de este ejercicio deberemos escribir una función llamada dias_de_artistas_deseados(lista_artistas) que reciba una lista de los artistas cuya participación se desea escuchar, y devuelva los días en que esos artistas cantan. Por ejemplo, la lista de artistas recibida podría tener el siguiente aspecto:
y en este caso la función deberá devolver [ ‘viernes’, ‘domingo’ ]. Para hacer esto, la función tendrá definido internamente en forma fija el diccionario de artistas que mostramos previamente.
-
Luego, escribir un programa principal que pida al usuario el listado de artistas que quiere escuchar. Asumiremos que cuando el usuario no quiera ingresar más artistas, ingresará el caracter ‘\(*\)’. Una vez que el usuario haya terminado de ingresar los artistas deseados, el programa deberá utilizar la función dias_de_artistas_deseados() definida previamente para obtener e informar al usuario cuáles son los daypasses que deberá comprar.