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
Dominic Malloy
1.857 puntosDesafío de método - Tarea 2
No estoy seguro de dónde estoy cometiendo un error en esta tarea. Cuando ejecuto esto en VS Code no produce errores. Gracias de antemano.
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
self.name = 'Bao Bao'
r = (f'{self.name} eats {self.food}.')
return r
1 Respuesta
Asher Orr
Desarrollo en Python Graduado de Techdegree 9,411 Puntos¡Hola Dominic!
Mira este mensaje de error:
Rastreo (razón más reciente llamar última):
Archivo Espero que esto le ahorre mucho tiempo a algunas personas si se quedan atrapadas..., línea 67, en resultados_prueba
AssertionError: 'Bao Bao come bayas.' != 'Charles come bayas.'
- Bao Bao come bayas.
+ Charles come bayas.
: Marca seguro a usar el atributos ya en el class. Cuando No crear una instancia con Charles como el panda's nombre y cambiar el atributo de comida a bayas, yo no't get el derecha message.
Como el desafío en sí ejecutará tu código con 'Bao Bao' como atributo de nombre, deberías eliminar esta línea:
self.name = 'Bao Bao'
Cuando ejecuté tu código después de eliminar esa línea, aún obtuve un AssertionError (Regex no coincidió).
Creo que es porque la tarea pide devolver una cadena, no una variable.
Intenta devolver una f-String formateada en lugar de la variable "r".
¡Avísame si eso funciona!
Dominic Malloy
1.857 puntos¡Hola Asher, eso funcionó! Gracias por tomarte el tiempo de ayudar.
Y gracias por tu respuesta Jeff, lo aprecio.
Jeff Muday
28,732 PuntosJeff Muday
28,732 Puntos¡Asher Orr es correcto, y tú también tienes razón!
El calificador automático del Desafío utiliza una prueba unitaria basada en la salida de una expresión regular. La expresión regular espera solo un
return '${self.name} eats {self.food}.'Por lo tanto, marcará como incorrectas otras formas válidas de completar este ejercicio.
La moraleja de esta historia es intentar un Desafío, si no puedes completarlo con un esfuerzo razonable entonces pregunta a la comunidad y continúa.