Los textos están formados por caracteres y, a veces, es necesario realizar operaciones en caracteres individuales. En Python, podemos acceder a caracteres individuales mediante el operador de índice []:
greeting = 'Welcome to indexing!'
print(greeting[0]) # W
print(greeting[1]) # e
print(greeting[2]) # l
print(greeting[3]) # c
Cada carácter es en sí mismo una cadena. Por lo tanto, podemos operar con caracteres exactamente como con cadenas. Podemos concatenarlos con +, podemos multiplicarlos por un número para repetirlos varias veces, etc.
Observa que la indexación comienza desde 0. Para acceder a la primera letra lo hacemos con [0], para acceder a la segunda - [1], la tercera - [2], etc. Python usa indexación basada en cero. Es una práctica bien establecida en diferentes lenguajes de programación (C++, Java, C#, etc.) y muchos lenguajes siguen este método.
# 01234
greeting = 'hello'
print(greeting[0]) # h
print(greeting[4]) # o
print(len(greeting)) # 5 (hay 5 caracteres)
print(greeting[len(greeting) - 1]) # o (por lo tanto, accedemos al quinto con [4])
print(greeting[len(greeting) - 2]) # l
Desafío
Dado el siguiente texto, tu tarea es determinar el carácter número n del texto:
In 2017, Bitcoin reached ~$20k. People thought it was the historical maximum.
La entrada contiene un solo entero n. Imprime el carácter de la oración dada en la posición número n (la cuenta comienza desde 1). Si n no está dentro del rango 1...longitud-del-texto, el programa debe mostrar Bad Input.