Validation & verification · Validación y verificación
Why validate input
- Validation checks that input is sensible before the program uses it.
- "Garbage in, garbage out" — bad data leads to wrong answers.
- The program decides to accept or reject the value.
Por qué validar la entrada
- La validación comprueba que la entrada sea razonable antes de que el programa la utilice.
- "Basura entra, basura sale" — los datos incorrectos conducen a respuestas erróneas.
- El programa decide si debe aceptar o rechazar el valor.
The validation steps · Los pasos de validación
Read the input, check · verificar it, then accept or reject — bad data never gets used. · Lee la entrada, verifícala, luego acepta o rechaza: los datos defectuosos nunca se utilizan.
Range check
- A range check makes sure a number is between a low and a high limit.
- Example: a month must be from 1 to 12.
Comprobación de rango
- Una comprobación de rango asegura que un número esté entre un límite inferior y uno superior.
- Ejemplo: un mes debe estar comprendido entre 1 y 12.
month = 13
if 1 <= month <= 12:
print("Accepted")
else:
print("Rejected")
Length check
- A length check makes sure text is not too short or too long.
len(text)gives the number of characters.
Comprobación de longitud
- Una comprobación de longitud asegura que el texto no sea demasiado corto ni demasiado largo.
len(text)devuelve el número de caracteres.
password = "abc"
if len(password) >= 8:
print("Accepted")
else:
print("Too short")
Presence check
- A presence check makes sure something was actually entered.
- An empty string
""means the user typed nothing.
Comprobación de presencia
- Una comprobación de presencia asegura que realmente se haya introducido algo.
- Una cadena vacía
""significa que el usuario no escribió nada.
Verification: checking the copy
- Verification checks that data was copied or typed correctly.
- A double-entry check asks for the value twice and compares them.
- A visual check means a human reads it back on screen.
Verificación: comprobación de la copia
- La verificación comprueba que los datos fueron copiados o escritos correctamente.
- Una comprobación de doble entrada pide el valor dos veces y lo compara.
- Una comprobación visual implica que una persona lo lee en pantalla para confirmarlo.
In the exam: types of check
- Know these validation checks: range, length, type, presence, format, check digit.
En el examen: tipos de comprobación
- Conozca estas comprobaciones de validación: rango, longitud, tipo, presencia, formato y dígito de control.
IF Age >= 0 AND Age <= 120
THEN
OUTPUT "Valid"
ELSE
OUTPUT "Invalid"
ENDIF
Common mistakes
- Validation checks data is sensible (range, length, type); verification checks it was entered correctly.
- A range check needs both a lower and an upper limit.
Errores comunes
- Las comprobaciones de validación verifican que los datos sean razonables (rango, longitud, tipo); la verificación verifica que se hayan introducido correctamente.
- Una comprobación de rango necesita tanto un límite inferior como uno superior.
Now you try
- Each function returns
Trueto accept orFalseto reject. - Press Check answer to test your code.
Ahora practica
- Cada función devuelve
Truepara aceptar oFalsepara rechazar. - Pulsa Check answer para probar tu código.
Write valid_age(a) that returns True when a is a sensible age (0 to 120 inclusive), otherwise False. This is a range check. · Escribe valid_age(a) que devuelva True cuando a sea una edad razonable (de 0 a 120 inclusive), de lo contrario False. Esta es una comprobación de rango.
Click Run to see the output here. · Haz clic en Ejecutar para ver la salida aquí.
Write valid_password(p) that returns True when the password is at least 8 characters long. This is a length check. · Escribe valid_password(p) que devuelva True cuando la contraseña tenga al menos 8 caracteres. Esta es una comprobación de longitud.
Click Run to see the output here. · Haz clic en Ejecutar para ver la salida aquí.
Write is_present(s) that returns True when something was entered, and False for an empty string "". This is a presence check. · Escribe is_present(s) que devuelva True cuando se haya ingresado algo, y False para una cadena vacía "". Esta es una comprobación de presencia.
Click Run to see the output here. · Haz clic en Ejecutar para ver la salida aquí.