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
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

Recortar y comparar

Los usuarios suelen agregar espacios por accidente. Eliminar los espacios en blanco al inicio 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 en blanco 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 distinguir mayúsculas de minúsculas?

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

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

question mark

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

Select the correct answer

question mark

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

Select the correct answer

question mark

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

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

Awesome!

Completion rate improved to 3.45

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

Recortar y comparar

Los usuarios suelen agregar espacios por accidente. Eliminar los espacios en blanco al inicio 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 en blanco 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 distinguir mayúsculas de minúsculas?

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

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

question mark

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

Select the correct answer

question mark

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

Select the correct answer

question mark

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

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

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