Textos consistem em caracteres e, às vezes, é necessário realizar operações em caracteres individuais. Em Python, podemos acessar caracteres individuais através do 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 é, por si só, uma string. Portanto, podemos operar com caracteres exatamente como strings. Podemos concatená-los com +, multiplicá-los por um número para repeti-los várias vezes, etc.
Observe que a indexação começa em 0. Para acessar a primeira letra, usamos [0], para acessar a segunda - [1], a terceira - [2], e assim por diante. 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 seguem a indexação baseada em 0 também.
# 01234
greeting = 'hello'
print(greeting[0]) # h
print(greeting[4]) # o
print(len(greeting)) # 5 (há 5 caracteres)
print(greeting[len(greeting) - 1]) # o (portanto, acessamos o 5º com [4])
print(greeting[len(greeting) - 2]) # l
Desafio
Dado o seguinte texto, 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 dentro de 1...tamanho-do-texto, o programa deve imprimir Bad Input.