Operações com letras no Python
Em alguns casos é necessário fazer operações matemáticas envolvendo letras e a princípio pode parecer algo inconcebível, porém existem duas funções no Python que podem nos ajudar a resolver o problema que precisamos. Elas são: ord() e chr()
A função ord() recebe uma string de tamanho igual à uma unidade e retorna o Unicode equivalente ao argumento fornecido. Em outras palavras, dado uma string de tamanho 1, a função retorna um número inteiro (integer, "int()") representado o código Unicode.
Não é necessário usar nenhuma biblioteca para que a função seja usada.
Exemplo:
A saída do script acima será: 65
O número retornado na saída representa o código Unicode para a letra "A".
Atenção: O código Unicode para letras minúsculas é diferente para letras maiúsculas.
A função chr() é responsável pela operação inversa à realizada pela função ord(). Ou seja, ela recebe uma integer e retorna uma string equivalente ao código Unicode fornecido.
Exemplo:
A saída do script acima será: "A"
Para demonstrar a utilização dessas funções em operações matemáticas vou exemplificar com um problema que tivemos no desenvolvimento do projeto de integração entre Python e Excel, que foi realizado pelo NEPRaE.
Em um certo ponto do projeto precisávamos usar uma função para formatar determinadas células de um certo número de colunas no Excel, para isso seria necessário identificar e fazer operações com as colunas, porém no programa elas são identificadas por letras e não por números, como segue na imagem.
Então para resolver o problema utilizamos as funções ord() e chr() para executar a seguinte lógica:
Como resultado teremos uma tabela no Excel da seguinte maneira:
Essas duas simples ferramentas do Python possibilitaram a manipulação de um processo mais complexo em uma tabela. Isso evidencia que as funções do Python podem ser exploradas de diversas maneiras a depender da necessidade e que apesar de parecerem simples, proporcionam soluções para problemas labirínticos.