Тексты состоят из символов, и иногда необходимо выполнять операции над отдельными символами. В Python мы можем получить доступ к отдельным символам с помощью оператора индексации []:
greeting = 'Welcome to indexing!'
print(greeting[0]) # W
print(greeting[1]) # e
print(greeting[2]) # l
print(greeting[3]) # c
Каждый символ сам по себе является строкой. Поэтому мы можем работать с символами точно так же, как со строками. Мы можем объединять их с помощью +, умножать на число, чтобы повторить несколько раз, и т.д.
Обратите внимание, что индексирование начинается с 0. Чтобы получить первую букву, мы используем [0], чтобы получить вторую — [1], третью — [2] и так далее. В Python используется нулевая индексация. Это устоявшаяся практика в разных языках программирования (C++, Java, C# и т.д.), и многие языки следуют этому же принципу.
# 01234
greeting = 'hello'
print(greeting[0]) # h
print(greeting[4]) # o
print(len(greeting)) # 5 (в слове 5 символов)
print(greeting[len(greeting) - 1]) # o (следовательно, доступ к 5-му символу через [4])
print(greeting[len(greeting) - 2]) # l
Задача
Дан следующий текст, ваша задача — определить n-й символ этого текста:
In 2017, Bitcoin reached ~$20k. People thought it was the historical maximum.
На вход подается одно целое число n. Выведите символ данной строки на позиции n (нумерация начинается с 1). Если n не находится в диапазоне 1...длина_текста, программа должна вывести Bad Input.