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
Jason Williams
Desarrollo en Python Estudiante de Techdegree 2,122 PuntosNo entiendo la lógica por la cual los valores de salida "A" "D" "F" se están devolviendo
print("A")
2 Respuestas
tío
14.243 Puntos¡Hola Jason! ¿cómo estás?
print(A)
try:
resultado = test + 5
print(B)
except ValueError:
print(C)
except TypeError:
print(D)
else:
print(E)
print(F)
Ahora desglosándolo;
print(A)
El primer paso es "print("A")", bastante simple, no necesitas pensar demasiado, así que ejecutémoslo,
print(A)
#La salida es "A". ¡SÍ, OBTUVIMOS "A"
Ahora el paso 2 es el bloque try, las cosas pueden complicarse pero concentrémonos.
try:
resultado = test + 5
print(B)
OH, esto parece estar mal porque "test" es un tipo de cadena de caracteres y (5) es un tipo int, nota que la palabra "test" tiene las comillas ("") al principio y al final, lo que la convierte en un tipo de cadena, y como el número (5) no tiene comillas y es un número, entonces es un tipo entero o int, NO PODEMOS sumar dos tipos diferentes, así que esto no puede ser válido, y print("B") no puede ejecutarse PORQUE la declaración;
resultado = test + 5
nos dará un ERROR DE TIPO.
try:
resultado = test + 5 # Esto nos da un error de tipo porque "test" es un tipo de cadena y 5 es un tipo int
print(B)
except ValueError: # print("C") se ejecutará si hay un ValueError, y en este caso tenemos un error de tipo no ValueError
print(C)
except TypeError: # Ahora está el error que es nuestro tipo de error, el ERROR DE TIPO, así que esta línea de código se ejecutará.
print(D)
Como tenemos un error de tipo, print("D") se ejecutará.
AHORA, tenemos dos salidas "A" y "D"
pasando al siguiente paso;
else:
print(E) # Esta línea de código se ejecutará SOLO SI nada se ejecutó en el bloque try y no hubo errores.
Como tuvimos un error de tipo, la línea Else no se ejecutará, así que print("E") no se ejecutará.
Ahora para nuestro último paso;
print(F) # Este código se ejecutará directamente porque no tiene bloque try, sin condiciones o nada.
# la salida nos da "F"
print("F") nos dará "F".
Así que ahora tenemos todas las respuestas
"A" "D" "F"
Espero que hayas obtenido una idea.
Jason Williams
Desarrollo en Python Estudiante de Techdegree 2,122 PuntosMuchas gracias, tío. Este desglose que proporcionaste realmente ayudó a aclarar las cosas para mí. Ahora entiendo completamente :)
tío
14.243 PuntosMe alegra haber ayudado, podrías marcar las respuestas como "Mejor respuesta" para ayudar a otros a ser conscientes de que la pregunta fue respondida.