
Дана строка
s1 = ‘Пример текста’
Строка в Python неизменяемый объект, можно извлечь из нее данные, но нельзя изменить. Хотя можно создать новую строку и поместить в нее уже измененную строку.
Распечатает строку s1
print(s1)
Пример текста
Узнаем длинну текста через len
sz = len(s1)
print(sz)
13
Буквы нумеруются с нуля 0. Попробуем вывести букву “и” из “Пример текста” – это 3 буква в человеческом понимании, но в Python у строк нумерация-индексация начинается с нуля,
П – 0
р – 1
и – 2
…
Буква “и” то есть имеет индекс 2 , если считать с нуля. Попробуем вывести букву “и” на экран.
print(s1[2])
и
Да, все работает.
Выведем еще три буквы “мер” идущие далее, чтобы получилось “имер”, итого 4 буквы. И! еще добавим 1 букву, потому что последний индекс диапазона при указании не используется.
Итого
индекс 2 у буквы “и”, + еще 3 буквы + 1 чтобы захватить конец диапазона = 2+3+1 = 6.
Диапазон указывается через :
print([2:6])
имер
Как вывести слово от начала строки и до индекса 5 – т.е. первое слово из 6 букв (0-5)?
Начало диапазона не указываем, только конец
s1[:6]
print (s1[:6])
Пример
Напомню у нас фраза в s1 – “Пример текста”
Как вывести последнее слово. Всего у нас 13 букв, последняя буква имеет индекс, если указывать с конца -1, предпоследняя -2 и тд.
В слове “текста” 6 букв, соответственно нужен диапазон от -1 до -6.
Но вывод диапазона происходит только слева направо поэтому укажем диапазон так
s1[-6:-1]
Но это неправильно, мы не захватили последнюю букву, потому что, напомню, нужно край диапазона указать на 1 больше, а больше чем -1 это 0.
НО!
Ноль не указывается в диапазоне, вместо него оставляется пустое место, или вообще ничего, вот так:
s1[-6:]
Для вывода на экран:
print (s1[-6:])
текста
Если захотите вывести только “тек”, тогда:
первая буква слова – это индекс с конца -6.
Нужно еще +2 буквы:
-6+2=-4
Но конец диапазона не захватывается, поэтому прибавляет еще +1
Итого
-6 +2 +1 = -3
print(s1[-6:-3])
тек
Ну и скомбинируем текст
Пример текста
0123456789 10,11,12
Выведем слово “перст” взяв первую (точнее нулевую по индексу) П, затем 8 по индексу “е” и тд. Не забываем добавлять +1 к концу диапазона.
Можем указывать как сначала строки индексы, так и с конца, но или так или иначе, не вместе.
print(s1[:1]+ s1[8:9]+ s1[5:6] + s1[-3:-1])
Перст
Отправить ответ
Для отправки комментария вам необходимо авторизоваться.