Comparar con la longitud deseada
En este paso, aprenderás cómo comparar la longitud de una cadena (string) con una longitud deseada. Esta es una tarea común en la programación, especialmente cuando se valida la entrada del usuario o se procesan datos que deben cumplir con requisitos de longitud específicos.
Creemos un escenario en el que queremos asegurarnos de que un nombre de usuario ingresado por un usuario tenga entre 3 y 10 caracteres de longitud. Modifica tu archivo string_length.py
en el directorio ~/project
para incluir lo siguiente:
## filename: string_length.py
username = input("Enter a username: ")
length = len(username)
if length < 3:
print("Username must be at least 3 characters long.")
elif length > 10:
print("Username must be no more than 10 characters long.")
else:
print("Username is valid.")
Guarda el archivo y ejecútalo:
python ~/project/string_length.py
Si ingresas un nombre de usuario que es demasiado corto:
Enter a username: ab
La salida será:
Username must be at least 3 characters long.
Si ingresas un nombre de usuario que es demasiado largo:
Enter a username: abcdefghijk
La salida será:
Username must be no more than 10 characters long.
Si ingresas un nombre de usuario válido:
Enter a username: abcdef
La salida será:
Username is valid.
Este ejemplo demuestra cómo puedes usar la función len()
para verificar si una cadena cumple con criterios de longitud específicos.
Ahora, consideremos un escenario más complejo en el que queremos validar una contraseña. La contraseña debe tener entre 8 y 16 caracteres de longitud y debe contener al menos un dígito. Modifica tu archivo string_length.py
de la siguiente manera:
## filename: string_length.py
password = input("Enter a password: ")
length = len(password)
has_digit = False
for char in password:
if char.isdigit():
has_digit = True
break
if length < 8:
print("Password must be at least 8 characters long.")
elif length > 16:
print("Password must be no more than 16 characters long.")
elif not has_digit:
print("Password must contain at least one digit.")
else:
print("Password is valid.")
Guarda el archivo y ejecútalo:
python ~/project/string_length.py
Si ingresas una contraseña que es demasiado corta:
Enter a password: abcdefg
La salida será:
Password must be at least 8 characters long.
Si ingresas una contraseña que es demasiado larga:
Enter a password: abcdefghijklmnopq
La salida será:
Password must be no more than 16 characters long.
Si ingresas una contraseña que no contiene un dígito:
Enter a password: abcdefgh
La salida será:
Password must contain at least one digit.
Si ingresas una contraseña válida:
Enter a password: abcdefg1
La salida será:
Password is valid.
Este ejemplo demuestra cómo puedes combinar la función len()
con otras técnicas, como recorrer la cadena para buscar caracteres específicos, para realizar una validación más sofisticada.