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
daniel refael
1.679 PuntosHola, ¿cómo puedo devolver la cadena, y de qué manera? ¿solo necesitaba escribir la oración?
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'
str = self.name + 'come' + Panda.comida
return str
3 Respuestas
Caleb Kemp
13.130 puntosEntonces, está buscando la respuesta en un formato muy particular, algo tan pequeño como un espacio adicional, o sin espacio donde esperaba uno, hará que falle.
Los def eat(self): El método debe tener solo dos líneas de código.
- Establecer el valor de is_hungry (que se ve bien en el tuyo)
- Declaración de retorno usando una cadena formateada.
Aquí hay un ejemplo de cómo se ve una cadena formateada
return (f'{self.var1} texto {self.var2}')
En el minuto 2:00 aquí Es donde el profesor demuestra la impresión de una cadena formateada.
Sé que es súper molesto, pero asegúrate de que imprima exactamente el texto del desafío. Como no puedes ver el resultado de tu código en el desafío, y las pistas no siempre son muy útiles, encuentro que a veces ayuda completar primero el desafío en el área de trabajo. De esa manera sabes que funciona, y solo necesitas jugar con el formato, en lugar de preguntarte si realmente hay algo mal o un error tipográfico que está causando que falle. Espero que ayude
P.D. Una cosa más, aunque en este caso imprimirá el mismo resultado, usa "self.food", NO "Panda.food", ya que el desafío espera "self.food", usar "Panda.food" hará que falle.
Steven Parker
244 163 puntosHay varios problemas aquí:
- El método no debe cambiar el valor de
self.name - la cadena
eatsNecesita espacios para separarlo del nombre y la comida - Una clase no debe referirse a sí misma por nombre (como
Panda.food), sino usando la palabra claveself - La cadena de salida debe terminar con un punto (
.)
Pero según el mensaje de error, incluso corregir estos errores no es suficiente. El desafío está buscando código que construya la salida como una cadena formateada (cadena "f") y la devuelva sin crear otra variable. Entonces, aparentemente, esto exacto La línea debe usarse para construir y devolver el resultado:
return f{self.name} come {self.food}.
Si consideras que esto es un error en el desafío (yo lo haría), es posible que desees reportarlo a Soporte. Si están de acuerdo, te darán una "insignia especial de Exterminator".
Caleb Kemp
13.130 puntosRecuerdo cuando parecía que la mayoría de los desafíos eran así, donde el código tenía que estar en un formato exacto hasta el espaciado, por ejemplo
var x = 5;
Fallaría para
var x = 5;
Recuerdo un desafío particular de JavaScript que me dejó perplejo durante horas. Había construido y confirmado que el código estaba funcionando exactamente como se pretendía. El desafío no me estaba dando una declaración "esperando grep", y estaba convencido de que el mío estaba formateado idénticamente como el ejemplo. ¿Cuál era el problema? Había usado "tabulaciones" para crear el espaciado, el desafío (aunque visualmente era igual), esperaba exactamente 3 caracteres de "espacio" en todos los lugares donde había usado la tecla de tabulación. Haciendo los desafíos siempre pensaba, no estoy seguro de si este desafío es muy útil para ayudarme a aprender el lenguaje x, pero ciertamente me está haciendo más competente en la lectura de declaraciones grep lol No extraño los viejos desafíos.
P.D. Me gusta la manera en que explicaste tu solución. Además, ¿es solo yo, o también sentiste que esos rechazos por diferencias de formato eran frustrantes a veces? Probablemente solo yo
Steven Parker
244 163 puntosNo recuerdo que los desafíos fueran tan específicos en los cursos que he tomado. Creo que la mayoría aceptaba cualquier método que lograra los resultados requeridos, lo que parecía más apropiado.
Caleb Kemp
13.130 puntosEs bueno escuchar eso
daniel refael
1.679 Puntos¡Gracias a todos!