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

Mi código parece producir el resultado deseado, pero no está siendo aceptado.

Como se indicó cuando se probó en el espacio de trabajo, este código produce el resultado deseado. Sin embargo, no está siendo aceptado. ¿Qué estoy haciendo mal?

panda.py
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}.)

panda_1 = Panda('Bao Bao', 47)
panda_1.eat()

Mensaje de error recibido

AssertionError: Regex no coincidió: 'return\s\(?f?\\'?\"?\{[self.name]\}\seats\s\{[self.food]\}.\\'?\"?[.format]\(?[name\s=\s][self.name,]\s?[food\s=\s][self.food]*\)?\)?' no encontrado en "class Panda:\n species = 'Ailuropoda melanoleuca'\n food = 'bamboo'\n\n def init(self,name,age):\n self.is_hungry = True\n self.name = name\n self.age = age\n \n def eat(self):\n self.is_hungry = False\n return('{} eats {}.' .format(self.name, self.food))\n \npanda_1 = Panda('Bao Bao', 'age')\npanda_1.eat()" : Usa formato de cadena y corchetes ({}) para agregar los atributos de nombre y alimento a tu cadena. Asegúrate de que el mensaje tenga la ortografía correcta y un punto (.)

2 Respuestas

Chris Freeman
Chris Freeman
68,469 puntos

Hola Connor Richardson, mirando de cerca la expresión regular no coincidente:

AssertionError: Expresión regular no't match: 'return\s\(?f?...

Está buscando:

  • "return" el return faltante
  • "\s" un espacio (requerido)
  • "(?" un paréntesis de apertura opcional
  • "f?" una opción f para una cadena f

:point_right: return no es una llamada a función. Debe haber un espacio después de ella.

Publica de nuevo si necesitas más ayuda. ¡Buena suerte!

Megan Amendola
sello-máscara
PERSONAL
.a{fill-rule:evenodd;}techdegree seal-36
Megan Amendola
Profesor de Treehouse

¡Hola! return es una palabra clave, no una llamada a función. Si incluyes el () puedes terminar convirtiendo accidentalmente tu retorno en una tupla (si tienes una coma allí). En su lugar, solo necesitas usar la palabra clave y luego un espacio para usarla así: return f"......"