Знакомство с Исполнитель Редактор начнём с типового примера, который является базовым и достаточно простым. Такие варианты заданий можно также решать аналитически. Для решения не требуется знать дополнительных методов и алгоритмов. Язык программирования Python сокращает время и позволяет решить любой вид заданий Исполнитель Редактор.
Что нужно знать?
- Строковый тип данных (str), конкатенация строк (сoncatenation)
- Принцип работы циклов: while (пока) | цикла for
- Конструкция условий: if (если) | else (иначе) | elif (иначе - если)
- Методы: replace(), count(), sum()
⎔ Тип данных Str в Python
представляет собой последовательность символов. Он используется для хранения и обработки текстовых данных.
Строки в Python создаются путём заключения последовательности символов в кавычки. Строки являются неизменяемыми последовательностями, то есть после создания строки её содержимое не может быть изменено.
Чтобы напечатать (' ') данный символ, необходимо нажать на клавишу (э) на английской раскладке клавиатуры (ENG).
type() — это встроенная функция в Python, которая используется для определения типа переменной или объекта.
<class 'str'> — переменная (string) относится к классу (str) строк.
print() — служебная команда, она используется для вывода текстовой информации на экран или в консоль. Это как сказать компьютеру: «Покажи мне этот текст»
В Python знак равно (=) используется для присваивания значения переменной. Это означает, что после выполнения этой операции переменная будет содержать указанное значение.
⎔ Метод replace() в Python
заменяет указанный символ или подстроку на новую
Синтаксис метода:
str.replace(old, new, k)
- str — строка, к которой применяется метод
- old — заменяемый символ или подстрока
- new — символ или подстрока, на которую происходит замена
- k (необязательный параметр) — максимальное количество замен
Примеры использования метода replace():
➊ ПРИМЕР
× замена всех букв (L) на буквы (k)
Результат работы алгоритма: Hello 🠖 Hekko
➋ ПРИМЕР
× замена всех букв (o) на буквы (B)
Результат работы алгоритма: ooAAAoo 🠒 BBAAABB
Если указать параметр (k = 1) в методе replace(), то произойдёт всего одна (первая) замена переменной
➌ ПРИМЕР
В чём отличие данного примера от остальных?
В методе replace() указан дополнительный параметр (k) - максимальное количество замен. Если k = 1, то произойдёт только одна замена переменной в строке. Если k = 2, то произойдёт уже две замены переменной в строке. Стоит учитывать, что замена происходит только для первых встретившихся символов.
Результат работы алгоритма: ooAAAoo 🠖 BoAAAoo
Если указать параметр (k = 2) в методе replace(), то произойдут первые 2 замены переменных
➍ ПРИМЕР
× замена первых двух букв (о) на букву (В)
Результат работы алгоритма: ooAAAoo 🠖 BВAAAoo
➎ ПРИМЕР
× замена первых трёх букв (о) на букву (В)
Параметр k = 3, поэтому алгоритм находит первые три буквы (о) и меняет их на буквы (В).
Результат работы алгоритма: AAAooAAAooAo 🠖 AAABBAAABoAo
⎔ Цикл while в Python
используется для многократного выполнения блока кода, пока заданное условие остаётся истинным
Цикл while в Python — это конструкция, которая позволяет выполнять код до тех пор, пока определённое условие верно
В данном примере переменная (m) сначала равна нулю. Условие цикла — m должно быть меньше 3 (m < 3). В теле цикла выводится на экран строка «Привет!» и увеличивается значение переменной (m) на 1. Так будет продолжаться, пока значение (m) не станет равно или больше 3.
m += 1 — этот код увеличивает значение переменной m на 1 (можно записать и так: m = m + 1)
count += 5 — этот код увеличивает значение переменной (count) на 5 (count = count + 5)
a -= 3 — этот код уменьшает значение переменной (а) на 3 (a = a - 3)
⎔ Конструкция условий if | else | elif
используется для выполнения определённой команды в зависимости от условия. Условие проверяется, и если оно истинно (True), то выполняется блок кода после if, а если ложно (False) — блок после else
Конструкция if | else
% (символ процента) – остаток от деления в Python
[Shift + 5]
Конструкция if | elif
elif — это ключевое слово в Python, которое используется для проверки дополнительных условий. Данная конструкция объединяет оператор else и оператор if.
elif = else (иначе) + if (если)
⎔ Разбор реального задания из ЕГЭ
Условие:
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 68 идущих подряд цифр 8? В ответе запишите полученную строку.
Алгоритм:
НАЧАЛО
ПОКА нашлось (222) ИЛИ нашлось (888)
ЕСЛИ нашлось (222)
ТО заменить (222, 8)
ИНАЧЕ заменить (888, 2)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Решение:
Идея заключается в том, чтобы перенести алгоритм из задания на язык Python. Смотрим, что написано в каждой строке и переписываем.
- Необходимо исходное количество цифр записать в виде строки (str)
- Для создания строки, заключить символы в одинарные кавычки
- Нахождение символов в строке проверять с помощью условия (if - else - elif)
- Замену подстрок выполнять с помощью метода replace()
⇨ 1. СОЗДАТЬ СТРОКУ
Необходимо записать в Python 68 идущих подряд цифр 8. Для этого создадим переменную (s), которая будет отвечать за исходную строку:
s = '8' * 68 # создание строки из 68 идущих подряд цифр 8
• '8' — символ. В Python символ является строчным типом переменной (str)
• 68 — количество символов (целое число)
* — операция в Python, используется для повторения строки указанное количество раз.
+ — операция в Python, используется для конкатенации (объединения, склеивания) строк.
С помощью операции конкатенации можно создавать любые виды строк:
⇨ 2. ЗАПИСАТЬ ЦИКЛ WHILE
- ПОКА ❯❯ while
цикл будет работать до тех пор, пока выполняется условие. Для выполнения условия в строке должны быть цифры 222 или 888. Если в условии задачи ЕГЭ написано слово ПОКА, то оно будет означать цикл while в Python - нашлось (222) ❯❯ '222' in s
'222' in s – условие цикла while. Пока в строке есть '222' цикл будет выполнятся - ИЛИ ❯❯ or
логическое условие (или то, или то, или всё вместе), в Python записывается как (or) - нашлось (888) ❯❯ '888' in s
'888' in s – условие цикла while. Пока в строке есть '888' цикл будет выполнятся
⇨ 3. ВЫПОЛНИТЬ АЛГОРИТМ
- ЕСЛИ нашлось (222) ❯❯ if '222' in s
if '222' in s – проверка вхождения строки '222' в строку s (наличие в строке) - ЕСЛИ – if
логическое условие (если ..., то ...), в Python записывается как (if)
в переводе с Английского if = если
- ИНАЧЕ ЕСЛИ нашлось (288) ❯❯ elif '288' in s
elif – данная конструкция объединяет оператор else и оператор if
- ТО заменить (222, 8) ❯❯ s = s.replace('222', '8', 1)
s = s.replace – присваивание нового значения для строки (s)
'222' – что необходимо заменить в строке (old)
'8' – на что заменить '222' в строке (new)
1 – сколько раз выполнить замену '222' на '8' (k)
❰В ЗАДАНИИ❱ ИНАЧЕ заменить(888, 2)
❰PYTHON❱ else: s = s.replace('888', '2', 1)
- ИНАЧЕ – else
выполнение кода после условия, если условие ложно
❗Как правильно записывать метод replace() для Задания №12 ЕГЭ:
🟥 НЕ ВЕРНО:
✅ ВЕРНО:
⇨ 4. ПОЛУЧИТЬ ОТВЕТ
Для получения ответа необходимо использовать стандартную функцию print() из библиотеки Python.
Она нужна для вывода текстовой информации на экран или в консоль. Print() может принимать один или несколько аргументов. Аргументы могут быть представлены в виде: строк, чисел, функций или других объектов.
❗ВАЖНО
В данном примере функцию print() нужно записать после полного выполнения алгоритма. Чтобы цикл while завершил свою работу и все необходимые символы были заменены. Поэтому, print() необходимо записать на одном уровне с началом программы.
s = '8' * 68
while '222' in s ...
...
print(s)
⎔ ТЕКСТ ПРОГРАММЫ
Для копирования:
s = '8' * 68
while '222' in s or '888' in s:
if '222' in s:
s = s.replace('222', '8', 1)
else:
s = s.replace('888', '2', 1)
print(s) # >>> 28