Como Verificar se uma String Está em Maiúsculas em Python

PythonBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como verificar se uma string está inteiramente em maiúsculas usando Python. O laboratório começa explorando strings em maiúsculas e criando um arquivo Python para experimentar com diferentes exemplos de strings. Em seguida, você usará o método isupper(), um método de string embutido, para determinar se todos os caracteres em uma string estão em maiúsculas.

Finalmente, o laboratório irá guiá-lo sobre como considerar caracteres que não são letras ao verificar strings em maiúsculas, garantindo resultados precisos mesmo quando as strings contêm números ou espaços. Isso envolve modificar o código para iterar pela string e verificar cada caractere individualmente.

Explorar Strings em Maiúsculas

Nesta etapa, você aprenderá sobre strings em maiúsculas em Python e como identificá-las. Entender como trabalhar com strings em maiúsculas é fundamental para tarefas como validação de dados, normalização de texto e processamento de comandos.

Vamos começar criando um arquivo Python para experimentar com strings.

  1. Abra o editor VS Code no ambiente LabEx.

  2. Crie um novo arquivo chamado uppercase_strings.py no diretório ~/project.

    Você pode criar um novo arquivo clicando em "File" -> "New File" no menu do VS Code e, em seguida, salvá-lo como uppercase_strings.py no diretório ~/project.

  3. Adicione o seguinte código Python ao arquivo 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 quatro strings: string1, string2, string3 e string4. A função print() é usada para exibir essas strings.

Agora, vamos executar o script para ver a saída.

  1. Abra um terminal no ambiente VS Code.

    Você pode abrir um terminal clicando em "View" -> "Terminal" no menu do VS Code.

  2. Execute o script Python usando o seguinte comando:

python uppercase_strings.py

Você deve ver a seguinte saída:

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

Na próxima etapa, você aprenderá como usar o método isupper() para verificar se uma string está inteiramente em maiúsculas.

Usar o Método isupper()

Nesta etapa, você aprenderá como usar o método isupper() em Python para verificar se uma string está inteiramente em maiúsculas. O método isupper() é um método de string embutido que retorna True se todos os caracteres na string estiverem em maiúsculas e False caso contrário.

Vamos modificar o arquivo uppercase_strings.py que você criou na etapa anterior para usar o método isupper().

  1. Abra o arquivo uppercase_strings.py no editor VS Code.
  2. Modifique o código para incluir o método isupper() da seguinte forma:
## 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}")

Neste código, estamos chamando o método isupper() em cada uma das strings de exemplo e armazenando os resultados nas variáveis result1, result2, result3 e result4. Em seguida, imprimimos as strings originais junto com seus resultados isupper() correspondentes.

Agora, vamos executar o script para ver a saída.

  1. Abra um terminal no ambiente VS Code.
  2. Execute o script Python usando o seguinte comando:
python uppercase_strings.py

Você deve ver a seguinte saída:

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 você pode ver, string1 (HELLO) é a única string que retorna True porque todos os seus caracteres estão em maiúsculas. As outras strings retornam False porque contêm caracteres minúsculos, números ou espaços.

Na próxima etapa, você aprenderá como considerar caracteres que não são letras ao verificar strings em maiúsculas.

Considerar Caracteres Não-Letras

Nesta etapa, você aprenderá como considerar caracteres que não são letras ao verificar se uma string é considerada em maiúsculas. O método isupper() retorna True somente se todos os caracteres forem letras maiúsculas. Se uma string contiver números, espaços ou outros caracteres que não sejam letras, isupper() retornará False. Para lidar com esses casos, você pode filtrar os caracteres que não são letras antes de aplicar o método isupper().

Vamos modificar o arquivo uppercase_strings.py para considerar caracteres que não são letras.

  1. Abra o arquivo uppercase_strings.py no editor VS Code.
  2. Modifique o código para incluir um mecanismo de filtragem para caracteres que não são letras da seguinte forma:
## 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}")

Neste código:

  • Definimos uma função is_uppercase_ignore_non_letters(s) que filtra os caracteres que não são letras da string de entrada s usando filter(str.isalpha, s). O método str.isalpha() retorna True se um caractere for uma letra (A-Z, a-z) e False caso contrário.
  • O método ''.join() junta as letras filtradas de volta em uma string.
  • Em seguida, aplicamos o método isupper() à string filtrada.
  • Finalmente, imprimimos as strings originais junto com seus resultados correspondentes da função personalizada.

Agora, vamos executar o script para ver a saída.

  1. Abra um terminal no ambiente VS Code.
  2. Execute o script Python usando o seguinte comando:
python uppercase_strings.py

Você deve ver a seguinte saída:

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 você pode ver, string3 (123HELLO) e string5 (HELLO123WORLD) agora retornam True porque os caracteres que não são letras são ignorados e as letras restantes estão todas em maiúsculas.

Essa abordagem permite que você determine com precisão se uma string está em maiúsculas, mesmo quando ela contém caracteres que não são letras.

Resumo

Neste laboratório, você começou explorando strings em maiúsculas em Python e criando um arquivo uppercase_strings.py para experimentar com elas. Você definiu quatro strings com capitalização e conteúdo variados e, em seguida, as imprimiu no console usando a função print(). Isso permitiu que você inspecionasse visualmente diferentes formatos de string e se preparasse para usar o método isupper() na próxima etapa.

A próxima etapa se concentrará em utilizar o método isupper() para determinar programaticamente se uma string consiste inteiramente em caracteres maiúsculos.