
En 60 minutos crearás un archivo que rechaza edades y notas fuera de rango antes de clasificar cuatro casos de prueba.
S3D2_validaciones.py. Al terminar, el programa debe pedir una edad y una nota, rechazar cualquier valor fuera de los rangos 0–120 y 0–100, y clasificar solo los registros válidos.edad = 16, nota = 85 → Registro válido: objetivo cumplido.edad = 150, nota = 85 → Edad no válida.edad = 16, nota = 105 → Nota no válida.edad = 16, nota = 65 → Registro válido: necesita práctica.105 >= 70 es verdadero, pero una nota de 105 no pertenece al rango 0–100. Por eso la comprobación de rango debe aparecer antes que la condición nota >= 70. Las comparaciones producen valores booleanos que una sentencia if puede evaluar, y or permite reunir los dos extremos inválidos de cada rango. 12input() devuelve una cadena y int() la convierte antes de las comparaciones. 34 Si introduces letras, el programa todavía fallará; no añadas bucles ni manejo de errores en esta jornada.1:54:07, capítulo If Statements & Comparisons, hasta 2:07:17. Ese tramo incluye también Building a better Calculator, que empieza en 2:00:37. La ficha del video indica que puedes seleccionar una pista doblada al español desde el menú de audio. 5<, >, >=, <=, == y !=.and, or y not; hoy usarás or para detectar cualquiera de los dos extremos inválidos.S3D1_condicionales.py y localiza la primera condición verdadera que detiene su cadena if/elif/else.nota >= 70 con nota = 105?nota >= 70 y cuál debería detenerse antes.2:07:17; los bucles pertenecen a otra jornada.<, >, >= y or. Si prefieres leer, emplea las secciones 6.10. Comparaciones y 6.11. Operaciones booleanas. Cierra el bloque escribiendo esta regla con tus palabras: un valor inválido no debe alcanzar la rama que clasifica una nota válida.S3D2_validaciones.py desde un archivo vacío:# S3D2_validaciones.py
edad = int(input("Edad: "))
nota = int(input("Nota (0-100): "))
if edad < 0 or edad > 120:
resultado = "Edad no válida"
elif nota < 0 or nota > 100:
resultado = "Nota no válida"
elif nota >= 70:
resultado = "Registro válido: objetivo cumplido"
else:
resultado = "Registro válido: necesita práctica"
print(resultado)
# Pruebas realizadas:
# edad=16, nota=85 ->
# edad=150, nota=85 ->
# edad=16, nota=105 ->
# edad=16, nota=65 ->edad = 120, nota = 100. Debe seguir siendo un registro válido porque las condiciones de error usan < 0 y > 120 o > 100, no >=.elif nota >= 70 por encima de la validación de nota. Ejecuta edad = 16, nota = 105 y anota el resultado incorrecto.16 y 105, y comprueba que aparece Nota no válida.# Caso inválido que detecté:
# Error de orden que provoqué:
# Corrección que hice:
# Salida que demuestra la corrección:
# Dato de mi proyecto que también necesita un rango:Nota no válida o Edad no válida desde el terminal. No escribas «funcionó»; conserva la evidencia que permite comprobarlo.S3D2_validaciones.py.int().0–120 y notas fuera de 0–100.edad = 120, nota = 100.105, restauraste el código y guardaste la corrección.S3D1_condicionales.py y S3D2_validaciones.py juntos. El primero clasifica una entrada; el segundo impide que una entrada imposible llegue a esa clasificación.docs.python.org
docs.python.org
docs.python.org
docs.python.org
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.