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

Python Python Orientado a Objetos Básico Bienvenido a POO Agregando a nuestro Panda

¿Por favor, alguien puede ayudarme a cómo agregar el nombre 'Bao Bao' al retorno?

class Panda:

def __init__(self, name, age):
    self.is_hungry = True
    self.name = name
    self.age = age

def eat(self):
    self.name = 'Bao Bao'
    self.is_hungry = False
    return f*'{self.name} eats {food}.'
panda.py
class Panda:
    especie = 'Ailuropoda melanoleuca'
    comida = 'bamboo'
    name = 'Bao Bao'

    def __init__(self, name, edad):
        self.is_hungry = Verdadero
        self.name = name
        self.edad = edad

    def eat(self):
        self.name = 'Bao Bao'
        self.is_hungry = False
        return f*'{self.name} eats {food}.'

1 Respuesta

Anna Pichugina
Anna Pichugina
25,364 Puntos

Hola Federico,

Quita el asterisco (*) en tu f-string return, está impidiendo que Python interpole los valores en la cadena.

La instancia de clase ya tiene valores para food, name y species vinculados a 'self', por lo que puedes recuperarlos en tu método usando self.food, self.name y self.species respectivamente - no necesitas declarar self.name = 'Bao Bao' de nuevo, y {food} debe ser {self.food}. ¡Aparte de eso, lo tienes!

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}.'

¿Esto resolvió tu problema? Si es así, por favor vota a favor o acepta mi respuesta.