Cómo comprobar si una cadena tiene una longitud específica en Python

PythonPythonBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo verificar si una cadena (string) tiene una longitud específica en Python. Esto implica comprender la longitud de una cadena y utilizar la función len() para determinar el número de caracteres en una cadena, incluyendo espacios y caracteres especiales.

Comenzarás creando un script de Python para encontrar la longitud de cadenas predefinidas y luego modificarás el script para aceptar la entrada del usuario y calcular la longitud de la cadena ingresada. Finalmente, aprenderás cómo comparar la longitud de una cadena con una longitud deseada para verificar si cumple con el requisito específico.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/BasicConceptsGroup -.-> python/strings("Strings") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") subgraph Lab Skills python/strings -.-> lab-559572{{"Cómo comprobar si una cadena tiene una longitud específica en Python"}} python/conditional_statements -.-> lab-559572{{"Cómo comprobar si una cadena tiene una longitud específica en Python"}} python/for_loops -.-> lab-559572{{"Cómo comprobar si una cadena tiene una longitud específica en Python"}} python/build_in_functions -.-> lab-559572{{"Cómo comprobar si una cadena tiene una longitud específica en Python"}} end

Comprender la longitud de una cadena (string)

En este paso, aprenderás cómo determinar la longitud de una cadena en Python. Comprender la longitud de una cadena es un concepto fundamental en la programación, ya que te permite manipular y procesar datos de texto de manera efectiva.

En Python, se utiliza la función len() para encontrar la longitud de una cadena. La longitud de una cadena es el número de caracteres que contiene, incluyendo espacios y caracteres especiales.

Comencemos con un ejemplo sencillo. Crea un nuevo archivo llamado string_length.py en tu directorio ~/project utilizando el editor VS Code.

## filename: string_length.py
string1 = "Hello, LabEx!"
length1 = len(string1)
print("The length of the string 'Hello, LabEx!' is:", length1)

string2 = "This is a longer string."
length2 = len(string2)
print("The length of the string 'This is a longer string.' is:", length2)

string3 = ""  ## Empty string
length3 = len(string3)
print("The length of the empty string is:", length3)

Guarda el archivo y luego ejecuta el script utilizando el siguiente comando en la terminal:

python ~/project/string_length.py

Deberías ver la siguiente salida:

The length of the string 'Hello, LabEx!' is: 13
The length of the string 'This is a longer string.' is: 24
The length of the empty string is: 0

Como puedes ver, la función len() devuelve el número de caracteres en cada cadena. Una cadena vacía tiene una longitud de 0.

Ahora, intentemos otro ejemplo con entrada del usuario. Modifica el archivo string_length.py de la siguiente manera:

## filename: string_length.py
user_string = input("Enter a string: ")
length = len(user_string)
print("The length of the string you entered is:", length)

Guarda el archivo y ejecútalo nuevamente:

python ~/project/string_length.py

El script te pedirá que ingreses una cadena. Escribe cualquier cadena y presiona Enter. Por ejemplo:

Enter a string: Python is fun!

La salida será:

The length of the string you entered is: 14

Esto demuestra cómo puedes utilizar la función len() para determinar la longitud de una cadena proporcionada por el usuario.

Utilizar la función len()

En este paso, profundizarás tu comprensión de la función len() aplicándola a diferentes escenarios. Aprenderás cómo usarla con varios tipos de datos y explorar su comportamiento con caracteres especiales y espacios en blanco.

Primero, examinemos cómo len() maneja cadenas (strings) con caracteres especiales y espacios en blanco. Modifica tu archivo string_length.py en el directorio ~/project para incluir lo siguiente:

## filename: string_length.py
string1 = "  Hello, LabEx!  "  ## String with leading and trailing spaces
length1 = len(string1)
print("The length of the string with spaces is:", length1)

string2 = "你好,LabEx!"  ## String with Unicode characters
length2 = len(string2)
print("The length of the string with Unicode characters is:", length2)

string3 = "Line1\nLine2"  ## String with a newline character
length3 = len(string3)
print("The length of the string with a newline is:", length3)

Guarda el archivo y ejecútalo:

python ~/project/string_length.py

Deberías ver la siguiente salida:

The length of the string with spaces is: 17
The length of the string with Unicode characters is: 9
The length of the string with a newline is: 11

Observa que los espacios iniciales y finales en string1 se incluyen en la longitud. Además, los caracteres Unicode en string2 se cuentan cada uno como un carácter. El carácter de nueva línea \n en string3 también se cuenta como un carácter.

Ahora, exploremos cómo usar len() en conjunto con otros métodos de cadena. Por ejemplo, puedes usarlo para verificar si una cadena está vacía después de eliminar los espacios en blanco. Modifica tu archivo string_length.py de la siguiente manera:

## filename: string_length.py
user_string = input("Enter a string: ")
stripped_string = user_string.strip()  ## Remove leading/trailing whitespace
length = len(stripped_string)

if length == 0:
    print("The string is empty after removing whitespace.")
else:
    print("The length of the string after removing whitespace is:", length)

Guarda el archivo y ejecútalo:

python ~/project/string_length.py

Ingresa una cadena con espacios iniciales y finales:

Enter a string:   Hello

La salida será:

The length of the string after removing whitespace is: 5

Si solo ingresas espacios, la salida será:

Enter a string:
The string is empty after removing whitespace.

Este ejemplo demuestra cómo puedes combinar la función len() con el método strip() para realizar operaciones de cadena más complejas. El método strip() elimina cualquier espacio en blanco inicial y final de la cadena.

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.

Resumen

En este laboratorio (lab), aprendiste cómo determinar la longitud de una cadena (string) en Python utilizando la función len(). El laboratorio demostró cómo calcular la longitud de cadenas predefinidas, incluyendo cadenas vacías, y cómo obtener una entrada de cadena del usuario y luego calcular su longitud.

Los ejemplos proporcionados mostraron que la función len() devuelve el número de caracteres en una cadena, incluyendo espacios y caracteres especiales, y que una cadena vacía tiene una longitud de 0. También practicaste ejecutar scripts de Python desde la terminal y observar la salida.