Текст в программе называют строкой. И строки умеют куда больше, чем просто печататься: их можно резать по буквам и кусочкам, переворачивать, искать в них и заменять. Сегодня разберём это по-настоящему — и сразу много попрактикуемся, потому что владеть строками = много с ними поработать руками.

Строка — цепочка символов
Строка состоит из символов по порядку. У каждого символа есть номер — индекс, и считают их с нуля: первый символ имеет индекс 0. Длину строки показывает команда len, а отдельный символ берут по индексу в квадратных скобках.
slovo = "Робот"
print(len(slovo))
print(slovo[0])
print(slovo[-1])
5
Р
т
Строка — это символы по порядку, у каждого свой индекс:
slovo = "Робот"
символ: Р о б о т
индекс: 0 1 2 3 4
len(slovo) = 5
slovo[0] = "Р" (первый символ)
slovo[-1] = "т" (последний символ)
-1 — последний символ, -2 — предпоследний.Берём кусочек: срезы
Срез берёт из строки не один символ, а целый кусок: slovo[начало:конец] — символы с индекса «начало» до «конец», причём «конец» НЕ включается. Пропустишь начало — срез пойдёт с самого старта строки; пропустишь конец — до самого конца.
slovo = "программист"
print(slovo[0:4])
print(slovo[:4])
print(slovo[-3:])
прог
прог
ист
Срез берёт кусочек строки slovo[начало:конец]:
slovo = "питон"
индекс: 0 1 2 3 4
п и т о н
slovo[0:3] --> "пит" (с 0 до 3, тройку НЕ включая)
slovo[2:] --> "тон" (с 2 и до конца)
slovo[:2] --> "пи" (с начала до 2)
slovo[0:3] берёт символы 0, 1, 2 — три штуки, а символ с индексом 3 уже не берётся.Переворачиваем строку — шифровка-перевёртыш
Особый срез [::-1] переворачивает строку задом наперёд. Получается простейшая шифровка: прочитать перевёрнутое слово сходу не так-то просто.
slovo = "привет"
print(slovo[::-1])
тевирп
Срез [::-1] читает строку задом наперёд:
"привет" --[::-1]--> "тевирп"
п р и в е т т е в и р п
-----------> <-----------
как есть перевёрнуто
[::-1]. Два переворота возвращают исходное слово.Меняем регистр и склеиваем
Метод .upper() делает все буквы ЗАГЛАВНЫМИ, а .lower() — строчными. Строки склеивают знаком +. Соединим это и сделаем ник.
imya = "алекс"
nick = imya.upper() + "_2024"
print(nick)
АЛЕКС_2024
Ищем и меняем: count, find, replace
Индексы и срезы — про то, ГДЕ символы. А ещё строки умеют искать и заменять, и это используют постоянно:
.count("а")— сколько раз буква или кусочек встречается в строке;.find("кот")— на каком индексе первое вхождение (или-1, если не найдено);.replace("а", "о")— заменить все «а» на «о» (получается новая строка).
fraza = "мама мыла раму"
print(fraza.count("а"))
print(fraza.find("мыла"))
print(fraza.replace("а", "о"))
4
5
момо мыло рому
replace не меняет старую строку, а создаёт новую — поэтому результат печатают или кладут в переменную. А find возвращает -1, если искомого в строке нет.Упражнение: ник, шифровка и цензор
Скопируй программу и запусти. Она делает сразу три штуки: ник из имени, шифровку-перевёртыш и цензор, который заменяет слово на звёздочки.
# Ник, шифровка и цензор
imya = input("Твоё имя: ")
print("Твой ник:", imya.upper() + "_2024")
soobshenie = input("Секретное сообщение: ")
print("Шифровка:", soobshenie[::-1])
tekst = input("Фраза для цензора: ")
print("После цензора:", tekst.replace("бяка", "****"))
Твоё имя: алекс
Твой ник: АЛЕКС_2024
Секретное сообщение: привет друг
Шифровка: гурд тевирп
Фраза для цензора: ты бяка
После цензора: ты ****
- Поменяй суффикс ника
"_2024"на свой. - В цензоре поменяй слово
"бяка"на то, что хочешь прятать. - Добавь строку: посчитай, сколько букв в сообщении —
len(soobshenie)— и выведи.
.replace на звёздочки, а потом ещё переверни всё [::-1] — двойная защита.Контрольный вопрос. У строки slovo = «Робот» какой символ вернёт slovo[0]?
Исходный код для этого задания:
slovo = "Робот"Подсказка: Индекс 0 — это самый первый символ строки.
Онлайн-проверка ответа появится позже
Контрольный вопрос. Что выведет программа из этого задания? Впиши число.
Исходный код для этого задания:
slovo = "питон" print(len(slovo))Подсказка: len считает количество символов в строке. Посчитай буквы в слове «питон».
Онлайн-проверка ответа появится позже
Контрольный вопрос. Что выведет программа из этого задания? Впиши слово, которое появится.
Исходный код для этого задания:
slovo = "программист" print(slovo[:4])Подсказка: Срез [:4] берёт символы с начала до индекса 4 (четвёрку не включая) — то есть первые четыре буквы.
Онлайн-проверка ответа появится позже
Контрольный вопрос. Что выведет программа из этого задания? Впиши то, что появится.
Исходный код для этого задания:
slovo = "привет" print(slovo[-3:])Подсказка: Срез [-3:] берёт три последних символа (с конца).
Онлайн-проверка ответа появится позже
Контрольный вопрос. Что выведет программа из этого задания? Впиши слово, которое появится.
Исходный код для этого задания:
slovo = "привет" print(slovo[::-1])Подсказка: Срез [::-1] переворачивает строку задом наперёд. Прочитай «привет» с конца.
Онлайн-проверка ответа появится позже
Задание. Напиши код сам. В переменной imya лежит имя маленькими буквами. Напиши команду print, которая выведет это имя ЗАГЛАВНЫМИ буквами.
Исходный код для этого задания:
imya = "алекс" # напиши ниже команду print, которая выведет имя заглавными буквамиПодсказка: Метод .upper() делает буквы заглавными. Шаблон: print(имя_переменной.upper()).
✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.
Онлайн-проверка ответа появится позже
Задание. Напиши код сам. В переменной slovo лежит слово ЗАГЛАВНЫМИ буквами. Напиши команду print, которая выведет его маленькими (строчными) буквами.
Исходный код для этого задания:
slovo = "КРИК" # напиши ниже команду print, которая выведет slovo строчными буквамиПодсказка: Метод .lower() делает буквы строчными. Шаблон: print(имя_переменной.lower()).
✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.
Онлайн-проверка ответа появится позже
Задание. Напиши код сам. В переменной slovo лежит слово «молоко». Напиши команду print, которая заменит в нём все буквы о на цифру 0 и выведет результат.
Исходный код для этого задания:
slovo = "молоко" # напиши ниже команду print, которая заменит о на 0 и выведет результатПодсказка: Метод .replace(«что», «на что»). Шаблон: print(slovo.replace(«о», «0»)).
✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.
Онлайн-проверка ответа появится позже
Задание. Напиши код сам. В переменной slovo лежит слово «ананас». Напиши команду print, которая посчитает, сколько раз буква а встречается в слове, и выведет это число.
Исходный код для этого задания:
slovo = "ананас" # напиши ниже команду print, которая посчитает буквы а и выведет числоПодсказка: Метод .count(«буква») считает вхождения. Шаблон: print(slovo.count(«а»)).
✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.
Онлайн-проверка ответа появится позже
Задание. Напиши код сам. В переменной slovo лежит слово «привет». Напиши команду print, которая найдёт позицию (индекс) буквы и в слове и выведет её.
Исходный код для этого задания:
slovo = "привет" # напиши ниже команду print, которая найдёт индекс буквы и и выведет егоПодсказка: Метод .find(«буква») возвращает индекс первого вхождения. Шаблон: print(slovo.find(«и»)).
✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.
Онлайн-проверка ответа появится позже
Контрольный вопрос. Программа должна поздороваться по имени, но вместо имени печатает {imya}. Что забыли в команде print из этого задания?
Исходный код для этого задания:
imya = "Алекс" print("Привет, {imya}!")Подсказка: Чтобы значение переменной подставилось вместо {imya}, перед кавычками нужна особая буква.
Онлайн-проверка ответа появится позже
Что дальше
Теперь ты не просто знаешь про строки — ты умеешь резать, переворачивать, искать, считать и заменять в них, и потренировался на каждом приёме. В следующем разделе научим программу принимать решения командой if и соберём бота-предсказателя.
