Métodos de alteração de maiúsculas e minúsculas em strings
Já vimos quão poderoso o Python pode ser ao lidar com strings. Podemos pesquisar uma string com a palavra-chave in, podemos extrair uma parte do texto através de slicing, obter o seu comprimento, formatar com f-strings, etc. Na verdade, isso é apenas a ponta do iceberg.
No Python, existem muitas funções utilitárias para lidar com manipulações de texto mais complexas. Há mais de 40 utilitários que podem ser usados em diferentes cenários. A lista completa desses métodos pode ser encontrada na página oficial do Python: métodos de strings. A boa notícia é que não é necessário memorizá-los todos. Quase todos têm um nome bastante intuitivo e é fácil encontrar o que for necessário com uma rápida pesquisa no Google. Vamos abordar algumas funções muito populares que são úteis de tempos em tempos e são usadas com frequência ao trabalhar com strings.
# .upper() transforma todas as letras em maiúsculas
s = 'What happened to Anna?'
up = s.upper()
print('Hi 123 this is Sally!'.upper()) # HI 123 THIS IS SALLY!
print(s) # What happened to Anna?
print(s.upper()) # WHAT HAPPENED TO ANNA?
print(up) # WHAT HAPPENED TO ANNA?
# .lower() transforma todas as letras em minúsculas
s = 'What happened to Anna?'
low = s.lower()
print('Hi 123 this is Sally!'.lower()) # hi 123 this is sally!
print(s) # What happened to Anna?
print(s.lower()) # what happened to anna?
print(low) # what happened to anna?
# .title() inicia todas as palavras com letra maiúscula (title-case)
s = 'What happened to Anna?'
title = s.title()
print('Hi 123 this is Sally!'.title()) # Hi 123 This Is Sally!
print(s) # What happened to Anna?
print(s.title()) # What Happened To Anna?
print(title) # What Happened To Anna?
# .capitalize() inicia a sentença com letra maiúscula
s = 'What happened to Anna?'
capital = s.capitalize()
print('Hi 123 this is Sally!'.capitalize()) # Hi 123 this is sally!
print(s) # What happened to Anna?
print(s.capitalize()) # What happened to anna?
print(capital) # What happened to anna?
# .swapcase() transforma maiúsculas em minúsculas e vice-versa
s = 'What happened to Anna?'
swapped = s.swapcase()
print('Hi 123 this is Sally!'.swapcase()) # hI 123 THIS IS sALLY!
print(s) # What happened to Anna?
print(s.swapcase()) # wHAT HAPPENED TO aNNA?
print(swapped) # wHAT HAPPENED TO aNNA?
É importante notar que os métodos de string não modificam a variável original. Eles criam um novo valor e o retornam. O valor original permanece o mesmo. Assim, ao chamar a.lower(), o valor de a não muda. Ele permanece o mesmo, mas lower() retorna um novo valor que contém a versão em minúsculas de a.
Desafio
É-lhe dado um comando e um texto. A sua tarefa é aplicar esse comando ao texto.
O comando pode ser um dos seguintes: upper, lower, capitalize, title, swap.
O comando também pode ser representado com letras maiúsculas e minúsculas. O processamento do comando não deve ser sensível a maiúsculas/minúsculas.
A primeira linha do programa contém o comando. A segunda linha contém o texto que precisa ser modificado.
A saída deve ser uma única linha - o texto transformado.