Os textos são compostos por caracteres e, por vezes, é necessário realizar operações em caracteres individuais. Em Python, podemos aceder a caracteres individuais usando o operador de indexação []:
greeting = 'Welcome to indexing!'
print(greeting[0]) # W
print(greeting[1]) # e
print(greeting[2]) # l
print(greeting[3]) # c
Cada caractere é, em si, uma string. Portanto, podemos operar com caracteres exatamente como fazemos com strings. Podemos concatená-los com +, podemos multiplicá-los por um número para repeti-los várias vezes, etc.
Note que a indexação começa em 0. Para aceder à primeira letra, usamos [0]; para aceder à segunda, [1]; à terceira, [2], e assim sucessivamente. O Python usa indexação baseada em 0. É uma prática bem estabelecida em diferentes linguagens de programação (C++, Java, C#, etc.), e muitas linguagens também seguem esse padrão.
# 01234
greeting = 'hello'
print(greeting[0]) # h
print(greeting[4]) # o
print(len(greeting)) # 5 (existem 5 caracteres)
print(greeting[len(greeting) - 1]) # o (portanto, acedemos ao 5º caractere com [4])
print(greeting[len(greeting) - 2]) # l
Desafio
Dado o seguinte texto, a sua tarefa é determinar o n-ésimo caractere do texto:
In 2017, Bitcoin reached ~$20k. People thought it was the historical maximum.
A entrada contém um único inteiro n. Imprima o caractere da frase dada na posição n (a contagem começa em 1). Se n não estiver no intervalo 1...comprimento_do_texto, o programa deve imprimir Bad Input.