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
Daron Anderson
2.567 Puntos¿Puede alguien ayudarme a entender?
¿Cuál es la explicación de por qué cuando result = "test" + 5 ,
Se imprime ADF que es una cadena más un entero
y cuando result = 5 + 5 , que es un entero más entero
1 Respuesta
Chris Freeman
68,469 puntosEn el primer caso, es dado que "A" y "F" se imprimirán primero y último, la pregunta es qué otros comandos de impresión se ejecutarán. En la ejecución de try, la primera declaración result = "test" + 5, lanzará una TypeError porque el signo más siguiente a una cadena busca concatenar otras cadenas. Cuando se analiza el 5, no es del tipo str por lo que no se puede concatenar. Cuando se TypeError lanza, la print("B") declaración se omite. La ejecución salta al except TypeError bloque, por lo que la siguiente impresión sería print("D"). Ya que el try bloque lanzó un error, el else bloque también se omite. Entonces es "A", "D", "F"
En el segundo caso, "A" y "F" también se imprimirán primero y último. Ahora el signo más sigue a un int por lo que espera una adición. Como el segundo 5 se puede sumar al primer 5, la ejecución se moverá a la print("B") declaración. Esto completa el try bloque y la ejecución se mueve al else bloque donde se ejecuta la print("E") declaración. Entonces "A", "B", "E", "F"
Vuelve a publicar si tienes más preguntas. ¡Buena suerte!
Daron Anderson
2.567 PuntosFantástico, te agradezco por aclarar. :)
Daron Anderson
2.567 PuntosDaron Anderson
2.567 PuntosTambién he estado intentando entender el orden de las operaciones.