Saltar a contenido

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:

  1. 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:

    ["Lucrecia", "Alejandra", "Belu", "Agus"]
    
  2. 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.

  3. 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",
    
}
  1. 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:

    ["Charlotte de Witte", "Barry Can't Swim", "Olivia Rodrigo"]
    

    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.

  2. 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.