1
respuesta

[Duda] No entendí muy bien la pregunta

El ejercicio muestra una clase llamada menú que contiene la lista de platos y bebidas como items. Según el inciso, la construcción de la clase es diferente, pero la opción correcta fue la D

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

Estoy un poco confundido, ya que la clase cuenta con el atributo catalogo inicializado como un diccionario vacío y el método adicionar_item es un método que trabaja en la instancia, no en la clase. ¿No será que el método estático ingredientes saltará siempre un KeyError ya que catalogo, como atributo estático, siempre será un diccionario vacío?

1 respuesta

¡Hola Leonardo!

Entiendo tu confusión con el ejercicio. Permíteme explicarte la implementación de la clase Menu y cómo funciona el método estático ingredientes.

En la opción correcta D, la clase Menu tiene un atributo estático llamado catalogo, que es un diccionario vacío. Luego, el método adicionar_item se encarga de agregar elementos al diccionario catalogo, donde la clave es el nombre del plato o bebida y el valor es una lista de ingredientes.

El método estático ingredientes toma un parámetro item, que es el nombre del plato o bebida, y devuelve la lista de ingredientes correspondiente. Aunque el atributo catalogo es estático, se puede acceder a él dentro del método estático utilizando Menu.catalogo.

Por lo tanto, no habrá un KeyError en el método estático ingredientes, ya que se accede al atributo estático catalogo correctamente.

Espero que esta explicación haya aclarado tu duda. Si tienes alguna otra pregunta, no dudes en hacerla.

¡Espero haber ayudado y buenos estudios!

Un saludo.

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios