Cómo comprobar si una cadena está en mayúsculas 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 de texto está completamente en mayúsculas utilizando Python. El laboratorio comienza explorando cadenas en mayúsculas y creando un archivo de Python para experimentar con diferentes ejemplos de cadenas. Luego, utilizarás el método isupper(), un método incorporado de cadenas, para determinar si todos los caracteres de una cadena están en mayúsculas.

Finalmente, el laboratorio te guiará sobre cómo tener en cuenta los caracteres que no son letras al verificar cadenas en mayúsculas, asegurando resultados precisos incluso cuando las cadenas contengan números o espacios. Esto implica modificar el código para iterar a través de la cadena y verificar cada carácter individualmente.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/BasicConceptsGroup -.-> python/strings("Strings") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") subgraph Lab Skills python/strings -.-> lab-559581{{"Cómo comprobar si una cadena está en mayúsculas en Python"}} python/function_definition -.-> lab-559581{{"Cómo comprobar si una cadena está en mayúsculas en Python"}} python/build_in_functions -.-> lab-559581{{"Cómo comprobar si una cadena está en mayúsculas en Python"}} end

Explorar cadenas en mayúsculas

En este paso, aprenderás sobre las cadenas en mayúsculas en Python y cómo identificarlas. Comprender cómo trabajar con cadenas en mayúsculas es fundamental para tareas como la validación de datos, la normalización de texto y el procesamiento de comandos.

Comencemos creando un archivo de Python para experimentar con cadenas.

  1. Abre el editor de VS Code en el entorno de LabEx.

  2. Crea un nuevo archivo llamado uppercase_strings.py en el directorio ~/project.

    Puedes crear un nuevo archivo haciendo clic en "File" -> "New File" en el menú de VS Code y luego guardarlo como uppercase_strings.py en el directorio ~/project.

  3. Agrega el siguiente código de Python al archivo uppercase_strings.py:

## Example strings
string1 = "HELLO"
string2 = "Hello"
string3 = "123HELLO"
string4 = "HELLO WORLD"

## Print the strings
print(f"String 1: {string1}")
print(f"String 2: {string2}")
print(f"String 3: {string3}")
print(f"String 4: {string4}")

Este código define cuatro cadenas: string1, string2, string3 y string4. La función print() se utiliza para mostrar estas cadenas.

Ahora, ejecutemos el script para ver la salida.

  1. Abre una terminal en el entorno de VS Code.

    Puedes abrir una terminal haciendo clic en "View" -> "Terminal" en el menú de VS Code.

  2. Ejecuta el script de Python utilizando el siguiente comando:

python uppercase_strings.py

Deberías ver la siguiente salida:

String 1: HELLO
String 2: Hello
String 3: 123HELLO
String 4: HELLO WORLD

En el siguiente paso, aprenderás cómo usar el método isupper() para verificar si una cadena está completamente en mayúsculas.

Usar el método isupper()

En este paso, aprenderás cómo usar el método isupper() en Python para verificar si una cadena está completamente en mayúsculas. El método isupper() es un método incorporado de cadenas que devuelve True si todos los caracteres de la cadena están en mayúsculas y False en caso contrario.

Modifiquemos el archivo uppercase_strings.py que creaste en el paso anterior para usar el método isupper().

  1. Abre el archivo uppercase_strings.py en el editor de VS Code.
  2. Modifica el código para incluir el método isupper() de la siguiente manera:
## Example strings
string1 = "HELLO"
string2 = "Hello"
string3 = "123HELLO"
string4 = "HELLO WORLD"

## Check if the strings are uppercase using isupper()
result1 = string1.isupper()
result2 = string2.isupper()
result3 = string3.isupper()
result4 = string4.isupper()

## Print the results
print(f"String 1: {string1}, is uppercase: {result1}")
print(f"String 2: {string2}, is uppercase: {result2}")
print(f"String 3: {string3}, is uppercase: {result3}")
print(f"String 4: {string4}, is uppercase: {result4}")

En este código, estamos llamando al método isupper() en cada una de las cadenas de ejemplo y almacenando los resultados en las variables result1, result2, result3 y result4. Luego, imprimimos las cadenas originales junto con sus resultados correspondientes de isupper().

Ahora, ejecutemos el script para ver la salida.

  1. Abre una terminal en el entorno de VS Code.
  2. Ejecuta el script de Python utilizando el siguiente comando:
python uppercase_strings.py

Deberías ver la siguiente salida:

String 1: HELLO, is uppercase: True
String 2: Hello, is uppercase: False
String 3: 123HELLO, is uppercase: False
String 4: HELLO WORLD, is uppercase: False

Como puedes ver, string1 (HELLO) es la única cadena que devuelve True porque todos sus caracteres están en mayúsculas. Las otras cadenas devuelven False porque contienen caracteres en minúsculas, números o espacios.

En el siguiente paso, aprenderás cómo tener en cuenta los caracteres que no son letras al verificar cadenas en mayúsculas.

Tener en cuenta los caracteres que no son letras

En este paso, aprenderás cómo tener en cuenta los caracteres que no son letras al verificar si una cadena se considera en mayúsculas. El método isupper() solo devuelve True si todos los caracteres son letras mayúsculas. Si una cadena contiene números, espacios u otros caracteres que no son letras, isupper() devolverá False. Para manejar estos casos, puedes filtrar los caracteres que no son letras antes de aplicar el método isupper().

Modifiquemos el archivo uppercase_strings.py para tener en cuenta los caracteres que no son letras.

  1. Abre el archivo uppercase_strings.py en el editor de VS Code.
  2. Modifica el código para incluir un mecanismo de filtrado de caracteres que no son letras de la siguiente manera:
## Example strings
string1 = "HELLO"
string2 = "Hello"
string3 = "123HELLO"
string4 = "HELLO WORLD"
string5 = "HELLO123WORLD"

## Function to check if a string is uppercase, ignoring non-letters
def is_uppercase_ignore_non_letters(s):
    letters = ''.join(filter(str.isalpha, s))
    return letters.isupper()

## Check if the strings are uppercase using the custom function
result1 = is_uppercase_ignore_non_letters(string1)
result2 = is_uppercase_ignore_non_letters(string2)
result3 = is_uppercase_ignore_non_letters(string3)
result4 = is_uppercase_ignore_non_letters(string4)
result5 = is_uppercase_ignore_non_letters(string5)

## Print the results
print(f"String 1: {string1}, is uppercase (ignoring non-letters): {result1}")
print(f"String 2: {string2}, is uppercase (ignoring non-letters): {result2}")
print(f"String 3: {string3}, is uppercase (ignoring non-letters): {result3}")
print(f"String 4: {string4}, is uppercase (ignoring non-letters): {result4}")
print(f"String 5: {string5}, is uppercase (ignoring non-letters): {result5}")

En este código:

  • Definimos una función is_uppercase_ignore_non_letters(s) que filtra los caracteres que no son letras de la cadena de entrada s utilizando filter(str.isalpha, s). El método str.isalpha() devuelve True si un carácter es una letra (A - Z, a - z) y False en caso contrario.
  • El método ''.join() une las letras filtradas de nuevo en una cadena.
  • Luego aplicamos el método isupper() a la cadena filtrada.
  • Finalmente, imprimimos las cadenas originales junto con sus resultados correspondientes de la función personalizada.

Ahora, ejecutemos el script para ver la salida.

  1. Abre una terminal en el entorno de VS Code.
  2. Ejecuta el script de Python utilizando el siguiente comando:
python uppercase_strings.py

Deberías ver la siguiente salida:

String 1: HELLO, is uppercase (ignoring non-letters): True
String 2: Hello, is uppercase (ignoring non-letters): False
String 3: 123HELLO, is uppercase (ignoring non-letters): True
String 4: HELLO WORLD, is uppercase (ignoring non-letters): False
String 5: HELLO123WORLD, is uppercase (ignoring non-letters): True

Como puedes ver, string3 (123HELLO) y string5 (HELLO123WORLD) ahora devuelven True porque se ignoran los caracteres que no son letras y las letras restantes están todas en mayúsculas.

Este enfoque te permite determinar con precisión si una cadena está en mayúsculas, incluso cuando contiene caracteres que no son letras.

Resumen

En este laboratorio, comenzaste explorando cadenas en mayúsculas en Python y creando un archivo uppercase_strings.py para experimentar con ellas. Definiste cuatro cadenas con diferentes formatos de mayúsculas y contenidos, y luego las imprimiste en la consola utilizando la función print(). Esto te permitió inspeccionar visualmente diferentes formatos de cadenas y prepararte para usar el método isupper() en el siguiente paso.

El siguiente paso se centrará en utilizar el método isupper() para determinar mediante programación si una cadena está formada completamente por caracteres en mayúsculas.