Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Comparación de Cadenas | Interacciones entre Tipos
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Tipos de Datos en Python

bookComparación de Cadenas

Las comparaciones de cadenas en Python distinguen entre mayúsculas y minúsculas de forma predeterminada. Si la entrada del usuario puede variar en capitalización o incluir espacios adicionales, normalizar primero y luego comparar. Una práctica sencilla y confiable es recortar los espacios en blanco y estandarizar el uso de mayúsculas/minúsculas antes de realizar comprobaciones de igualdad o de prefijo/sufijo.

Sensible a mayúsculas/minúsculas vs insensible a mayúsculas/minúsculas

Por defecto, "Apple" == "apple" es False. Para ignorar las mayúsculas/minúsculas, normalizar ambos lados.

12345
# Comparing two email addresses entered with different letter cases email_saved = "Support@Codefinity.com" email_entered = "support@codefinity.COM" print(email_saved.lower() == email_entered.lower()) # True → emails match regardless of case
copy

casefold() es una variante más robusta y compatible internacionalmente que lower(), y es una mejor opción predeterminada para comparaciones insensibles a mayúsculas y minúsculas.

12345
# Comparing international usernames regardless of letter case username_db = "straße" username_input = "STRASSE" print(username_db.casefold() == username_input.casefold()) # True → matches even with special characters
copy

Eliminar espacios y comparar

Los usuarios suelen añadir espacios por accidente. Eliminar los espacios en blanco al principio y al final antes de comparar.

12345
# Validating a user's role input from a form user_input = " admin " required_role = "ADMIN" print(user_input.strip().casefold() == required_role.casefold()) # True → matches after cleanup and case normalization
copy

Comprobaciones de prefijo y sufijo

Utilizar startswith y endswith. Para comprobaciones sin distinción de mayúsculas/minúsculas, normalizar primero.

123456789
# Checking if the uploaded document has the correct format and name uploaded_file = "Report_Final.PDF" # Validate file type (case-insensitive) print(uploaded_file.lower().endswith(".pdf")) # True → valid PDF file # Validate file name prefix (e.g., all reports start with "rep") required_prefix = "rep" print(uploaded_file.strip().casefold().startswith(required_prefix.casefold())) # True → matches prefix ignoring case
copy

Proceso de normalización consistente

Elija un orden simple y repetible:

  1. Elimine los espacios exteriores con .strip();
  2. Estandarice el uso de mayúsculas y minúsculas con .casefold() (o .lower() si lo prefiere);
  3. Luego utilice ==, in, startswith, endswith u otras comprobaciones.

1. ¿Qué línea realiza correctamente una comprobación de igualdad sin distinción de mayúsculas y minúsculas?

2. Dado s = " Hello ", ¿qué expresión devuelve True para una comprobación de igualdad sin distinción de mayúsculas y minúsculas con "hello" ignorando los espacios circundantes?

3. ¿Cuál afirmación es más precisa para una comparación insensible a mayúsculas y minúsculas robusta?

question mark

¿Qué línea realiza correctamente una comprobación de igualdad sin distinción de mayúsculas y minúsculas?

Select the correct answer

question mark

Dado s = " Hello ", ¿qué expresión devuelve True para una comprobación de igualdad sin distinción de mayúsculas y minúsculas con "hello" ignorando los espacios circundantes?

Select the correct answer

question mark

¿Cuál afirmación es más precisa para una comparación insensible a mayúsculas y minúsculas robusta?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 2

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

bookComparación de Cadenas

Desliza para mostrar el menú

Las comparaciones de cadenas en Python distinguen entre mayúsculas y minúsculas de forma predeterminada. Si la entrada del usuario puede variar en capitalización o incluir espacios adicionales, normalizar primero y luego comparar. Una práctica sencilla y confiable es recortar los espacios en blanco y estandarizar el uso de mayúsculas/minúsculas antes de realizar comprobaciones de igualdad o de prefijo/sufijo.

Sensible a mayúsculas/minúsculas vs insensible a mayúsculas/minúsculas

Por defecto, "Apple" == "apple" es False. Para ignorar las mayúsculas/minúsculas, normalizar ambos lados.

12345
# Comparing two email addresses entered with different letter cases email_saved = "Support@Codefinity.com" email_entered = "support@codefinity.COM" print(email_saved.lower() == email_entered.lower()) # True → emails match regardless of case
copy

casefold() es una variante más robusta y compatible internacionalmente que lower(), y es una mejor opción predeterminada para comparaciones insensibles a mayúsculas y minúsculas.

12345
# Comparing international usernames regardless of letter case username_db = "straße" username_input = "STRASSE" print(username_db.casefold() == username_input.casefold()) # True → matches even with special characters
copy

Eliminar espacios y comparar

Los usuarios suelen añadir espacios por accidente. Eliminar los espacios en blanco al principio y al final antes de comparar.

12345
# Validating a user's role input from a form user_input = " admin " required_role = "ADMIN" print(user_input.strip().casefold() == required_role.casefold()) # True → matches after cleanup and case normalization
copy

Comprobaciones de prefijo y sufijo

Utilizar startswith y endswith. Para comprobaciones sin distinción de mayúsculas/minúsculas, normalizar primero.

123456789
# Checking if the uploaded document has the correct format and name uploaded_file = "Report_Final.PDF" # Validate file type (case-insensitive) print(uploaded_file.lower().endswith(".pdf")) # True → valid PDF file # Validate file name prefix (e.g., all reports start with "rep") required_prefix = "rep" print(uploaded_file.strip().casefold().startswith(required_prefix.casefold())) # True → matches prefix ignoring case
copy

Proceso de normalización consistente

Elija un orden simple y repetible:

  1. Elimine los espacios exteriores con .strip();
  2. Estandarice el uso de mayúsculas y minúsculas con .casefold() (o .lower() si lo prefiere);
  3. Luego utilice ==, in, startswith, endswith u otras comprobaciones.

1. ¿Qué línea realiza correctamente una comprobación de igualdad sin distinción de mayúsculas y minúsculas?

2. Dado s = " Hello ", ¿qué expresión devuelve True para una comprobación de igualdad sin distinción de mayúsculas y minúsculas con "hello" ignorando los espacios circundantes?

3. ¿Cuál afirmación es más precisa para una comparación insensible a mayúsculas y minúsculas robusta?

question mark

¿Qué línea realiza correctamente una comprobación de igualdad sin distinción de mayúsculas y minúsculas?

Select the correct answer

question mark

Dado s = " Hello ", ¿qué expresión devuelve True para una comprobación de igualdad sin distinción de mayúsculas y minúsculas con "hello" ignorando los espacios circundantes?

Select the correct answer

question mark

¿Cuál afirmación es más precisa para una comparación insensible a mayúsculas y minúsculas robusta?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 2
some-alt