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
Diana Victoria Villada
9,755 puntosHe respondido esta pregunta del desafío y obtuve el resultado deseado, pero cuando ejecuto la respuesta obtengo que el nombre no está definido
Crear un método llamado eat. Solo debe tomar self como argumento. Dentro del método, establece el atributo is_hungry en False, ya que el Panda ya no tendrá hambre cuando coma. Además, devuelve una cadena que dice 'Bao Bao eats bamboo.' donde 'Bao Bao' es el atributo name y 'bamboo' es el atributo food.
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):
print(f'{panda_one.name} come {panda_one.food}')
self.is_hungry = False
panda_one = Panda('Bao Bao', 10)
panda_one.eat()
2 Respuestas
Steven Parker
244 163 puntosEstás cerca, aquí hay algunas sugerencias:
- un método de clase no debe hacer referencia directa a una instancia por nombre, usa "self" en su lugar
- asegúrate de
returnla cadena, no necesitasprintcualquier cosa - a la cadena le falta la puntuación final
- para el desafío, solo necesitas definir la clase — no necesitarás crear una instancia
John Hill
Desarrollo Web Front End Graduado de Techdegree 35.236 PuntosAquí está el código que logré que funcionara. Tuve que recordar usar self en todo y para formatear la f-string correctamente. No usé el nombre 'Bao Bao' en ningún lado, pero aún así lo aceptó como correcto.
Es genial ver cómo usar self dentro del eat() el método puede acceder tanto al atributo de clase .food como al atributo de instancia .name.
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} come {self.food}.