Parcialito 1 - 2024a - Tema 2#
Ejercicio 1#
Una compañía de videojuegos está comenzando el desarrollo de un nuevo videojuego de fantasía medieval. Lo primero que deben resolver es un sistema que almacene los diferentes personajes que los usuarios pudieran crear. En base a esto, se pide:
-
Definir una estructura en lenguaje Python que permita representar una secuencia de nuevos personajes que los jugadores pudieran crear. Cada personaje debe poseer nombre, clase y un inventario. Proponga un ejemplo con al menos 2 personajes, cada uno con al menos 2 elementos en su inventario.
-
Definir una función que reciba cómo entrada la lista de personajes actuales del sistema, le solicite al jugador los datos de un nuevo personaje y lo agregue a la lista. Debe devolver cómo resultado la nueva lista de personajes. Ejemplo de mensajes en la terminal:
-
Implementar un código principal que muestre por pantalla la información de todos los personajes del sistema. El código debe funcionar correctamente para una cantidad arbitraria de personajes. Ejemplo de salida posible:
Ejercicio 2#
El gremio de alquimistas exige de un sistema que le permita comprobar si sus miembros son capaces de preparar una determinada pócima en base a los elementos que posea en su inventario.
-
Implementar una función llamada ingredientes_faltantes(receta, inventario) que reciba una receta (lista de ingredientes) y la lista de elementos actuales en el inventario del alquimista. La función debe retornar una lista con los ingredientes que le falten al alquimista para poder cumplir la receta y realizar la pócima. En caso de que el alquimista posea todos los ingredientes debe retornar una lista vacía.
-
Implementar una función llamada cumple_receta(receta, inventario) que utilice la función anterior para retornar Verdadero o Falso dependiendo de si el alquimista es capaz de cumplir la receta.
-
Escriba un programa principal que notifique al alquimista si es capaz de cumplir una determinada receta. En caso de cumplir la receta, debe reportar el estado de su inventario luego de consumir los ingredientes para realizar la pócima, en caso contrario, debe reportar los ingredientes faltantes. Pueden asumir que no existen ingredientes repetidos en la receta, ni en el inventario del alquimista.
Ejemplo de receta e inventario de un alquimista:
receta = ["hoja de mandrágora", "ojo de pez globo"] inventario = ["báculo", "ortigas secas", "ojo de pez globo", "rana", "hoja de mandrágora"]
Si puede realizar la pócima, la notificación debe verse cómo:
Si no puede realizar la pócima, la notificación debe verse cómo: