Bienvenido a la Comunidad de Treehouse
¿Quieres colaborar en errores de código? ¿Tienes errores que necesitan comentarios? ¿Buscas un par de ojos adicionales en tu último proyecto? aquí.
¿Buscas aprender algo nuevo?
Treehouse ofrece una prueba gratuita de siete días para estudiantes nuevos. Obtén acceso a miles de horas de contenido y únete a miles de
Inicia tu prueba gratuita
gabrielalcaraz
7,694 PuntosNo sé qué estoy haciendo mal
Intento agregar lo que creo que se supone que debo hacer y el mensaje de error no me está ayudando, ¿me ayudas?
class Panda:
especie = 'Ailuropoda melanoleuca'
comida = 'bamboo'
def __init__(self, name, edad):
self.is_hungry = Verdadero
self.name = name
self.edad = edad
def eat(self):
self.is_hungry = False
return f'{self.name} eats {self.food}.'
def check_if_hungry(self):
if is_hungry == Verdadero:
self.eat()
panda = Panda('Bao Bao', '5')
1 Respuesta
Chris Freeman
68,469 puntosHola gabrielalcaraz¡estás TAN cerca!
Un atributo de instancia debe ser referenciado usando self., como en self.is_hungry. La variable is_hungry no está definido.
Vuelve a publicar si necesitas más ayuda. ¡Buena suerte!
gabrielalcaraz
7,694 Puntosgabrielalcaraz
7,694 PuntosLa programación parece una montaña cuando en realidad estás subiendo una colina, se siente difícil y cuando ves la respuesta te sientes como un idiota
Chris Freeman
68,469 puntosChris Freeman
68,469 puntosEs difícil de detectar porque
is_hungryno es estrictamente un nombre de variable indefinida hasta que se ejecuta el código. Siis_hungryfue definido a nivel de módulo, el código se ejecutaría. Si no está definido, genera unaNameError. Con la práctica, naturalmente te preguntarás dónde se define cada variable (local para el método, local para la clase, local para el módulo, o globalmente).Todos, incluso los maestros de Treehouse, han cometido y detectado este error en la programación.