Презентация - Изменение строки в python – метод replace. 12 Задание

Нажмите для просмотра
Изменение строки в python – метод replace. 12 Задание
Распечатать
  • Уникальность: 82%
  • Слайдов: 32
  • Просмотров: 115
  • Скачиваний: 38
  • Размер: 0.06 MB
  • Онлайн: Да
  • Формат: ppt / pptx
В закладки
Оцени!
  Помогли? Поделись!
Бесплатные баннеры для сайта
Читать онлайн!

Слайды и текст этой онлайн презентации

Слайд 1

Изменение строки в python – метод replace. 12 Задание, слайд 1
Изменение строки в Python – метод replace
12 задание

Слайд 2

Изменение строки в python – метод replace. 12 Задание, слайд 2
Слово replace имеет дословный перевод «заменять», так что название метода точно описывает его назначение. С помощью replace можно заменить часть строки или её всю на другую строку.

Слайд 3

Изменение строки в python – метод replace. 12 Задание, слайд 3
Синтаксис метода выглядит так: str.replace(old_str, new_str[, count]) В качестве аргументов в метод передаются: old_str – часть исходной строки, которую необходимо заменить. new_str – строка, на которую заменяют исходную строку (old_str). count – определяет количество вхождений подстроки, которые необходимо заменить.

Слайд 4

Изменение строки в python – метод replace. 12 Задание, слайд 4
Здесь count – не обязательный параметр. Если его не указывать, то будут заменены все вхождения подстрок на новые.

Слайд 5

Изменение строки в python – метод replace. 12 Задание, слайд 5
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки символов. 1. заменить (v, w) 2. нашлось (v) Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Дана программа для исполнителя Редактор: НАЧАЛО ПОКА нашлось (2222) ИЛИ нашлось (666) ЕСЛИ нашлось (2222) ТО заменить (2222, 6) ИНАЧЕ заменить (666, 2) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ Какая строка получится в результате применения приведённой выше программы к строке, состоящей из 239 идущих подряд цифр 6? В ответе запишите полученную строку.

Слайд 6

Изменение строки в python – метод replace. 12 Задание, слайд 6
s = '6'*239 while ('2222' in s) or ('666' in s): if '2222' in s: s = s.replace('2222', '6', 1) else: s = s.replace('666', '2', 1) print(s)
239 идущих подряд цифр 6
НАЧАЛО ПОКА нашлось (2222) ИЛИ нашлось (666) ЕСЛИ нашлось (2222) ТО заменить (2222, 6) ИНАЧЕ заменить (666, 2) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ
Третий параметр в функции replace обозначает, что замену нужно производить один раз. Это в точности соответствует предложенной функции заменить.

Слайд 7

Изменение строки в python – метод replace. 12 Задание, слайд 7
Ответ: 2266

Слайд 8

Изменение строки в python – метод replace. 12 Задание, слайд 8
Задача 2
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. 1. заменить (v, w) 2. нашлось (v) Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w, вторая проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Дана программа для исполнителя Редактор: НАЧАЛО ПОКА нашлось (21) ИЛИ нашлось (31) ИЛИ нашлось (23) ЕСЛИ нашлось (21) ТО заменить (21, 12) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (31) ТО заменить (31, 13) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (23) ТО заменить (23, 32) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ На вход приведённой ниже программе поступает строка, содержащая 50 цифр 1, 50 цифр 2 и 50 цифр 3, расположенных в произвольном порядке. Запишите без разделителей символы, которые имеют порядковые номера 10, 90 и 130 в получившейся строке.

Слайд 9

Изменение строки в python – метод replace. 12 Задание, слайд 9
Здесь сказали, что начальный порядок цифр в строке неизвестен. А просят написать конкретные данные на выходе. Отсюда делаем вывод, что любой порядок в начале приводит к одному и тому же результату.

Слайд 10

Изменение строки в python – метод replace. 12 Задание, слайд 10
НАЧАЛО ПОКА нашлось (21) ИЛИ нашлось (31) ИЛИ нашлось (23) ЕСЛИ нашлось (21) ТО заменить (21, 12) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (31) ТО заменить (31, 13) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (23) ТО заменить (23, 32) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ Запишите без разделителей символы, которые имеют порядковые номера 10, 90 и 130 в получившейся строке.
s = '1'*50 + '2'*50 + '3'*50 while ('21' in s) or ('31' in s) or ('23' in s): if '21' in s: s = s.replace('21', '12', 1) if '31' in s: s = s.replace('31', '13', 1) if '23' in s: s = s.replace('23', '32', 1) print(s[9] + s[89] + s[129])

Слайд 11

Изменение строки в python – метод replace. 12 Задание, слайд 11
Чтобы обратится к конкретному символу в строке, используем конструкцию s[позиция символа]. Но нумерация начинается с нуля.

Слайд 12

Изменение строки в python – метод replace. 12 Задание, слайд 12
Ответ: 132

Слайд 13

Изменение строки в python – метод replace. 12 Задание, слайд 13
Задача 3
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки символов.
1. заменить (v, w) 2. нашлось (v)
Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Дана программа для исполнителя Редактор:
НАЧАЛО ПОКА нашлось (111) заменить (111, 22) заменить (222, 11) КОНЕЦ ПОКА КОНЕЦ

Слайд 14

Изменение строки в python – метод replace. 12 Задание, слайд 14
Известно, что исходная строка содержала более 70 единиц и не содержала других цифр. Укажите минимально возможную длину исходной строки, при которой в результате работы этой программы получится строка, содержащая максимально возможное количество единиц.

Слайд 15

Изменение строки в python – метод replace. 12 Задание, слайд 15

исходная строка содержала более 70 единиц и не содержала других цифр НАЧАЛО ПОКА нашлось (111) заменить (111, 22) заменить (222, 11) КОНЕЦ ПОКА КОНЕЦ
for i in range(71, 1000): s = '1'*i while '111' in s: s = s.replace('111', '22', 1) s = s.replace('222', '11', 1) print(i, s.count('1'))

Слайд 16

Изменение строки в python – метод replace. 12 Задание, слайд 16
. Ответ: 73

Слайд 17

Изменение строки в python – метод replace. 12 Задание, слайд 17
Задача 4 (Сумма цифр + непонятный символ)
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. 1. заменить (v, w) 2. нашлось (v) Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w, вторая проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Дана программа для исполнителя Редактор:

Слайд 18

Изменение строки в python – метод replace. 12 Задание, слайд 18
НАЧАЛО ПОКА нашлось (>1) ИЛИ нашлось (>2) ИЛИ нашлось (>3) ЕСЛИ нашлось (>1) ТО заменить (>1, 22>) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (>2) ТО заменить (>2, 2>1) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (>3) ТО заменить (>3, 1>2) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ

Слайд 19

Изменение строки в python – метод replace. 12 Задание, слайд 19
На вход приведённой ниже программе поступает строка, начинающаяся с символа «>», а затем содержащая 28 цифр 1, 18 цифр 2 и 35 цифр 3, расположенных в произвольном порядке. Определите сумму числовых значений цифр строки, получившейся в результате выполнения программы. Так, например, если результат работы программы представлял бы собой строку, состоящую из 50 цифр 4, то верным ответом было бы число 200.

Слайд 20

Изменение строки в python – метод replace. 12 Задание, слайд 20
На вход программе поступает строка, начинающаяся с символа «>», а затем содержащая 28 цифр 1, 18 цифр 2 и 35 цифр 3, расположенных в произвольном порядке. НАЧАЛО НАЧАЛО ПОКА нашлось (>1) ИЛИ нашлось (>2) ИЛИ нашлось (>3) ЕСЛИ нашлось (>1) ТО заменить (>1, 22>) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (>2) ТО заменить (>2, 2>1) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (>3) ТО заменить (>3, 1>2) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ Определите сумму числовых значений цифр строки, получившейся в результате выполнения программы.
s = '>' + '1'*28 + '2'*18 + '3'*35 while ('>1' in s) or ('>2' in s) or ('>3' in s): if '>1' in s: s = s.replace('>1', '22>', 1) if '>2' in s: s = s.replace('>2', '2>1', 1) if '>3' in s: s = s.replace('>3', '1>2', 1) # Находим сумму цифр в строке sm=0 for i in range(0, len(s)): if s[i]!='>': sm = sm + int(s[i]) print(sm)

Слайд 21

Изменение строки в python – метод replace. 12 Задание, слайд 21
Чтобы найти сумму цифр, мы пробегаем по всей строке с помощью цикла range. Если символ не равен ">", то превращаем его в число с помощью функции int() и суммируем в переменную sm.

Слайд 22

Изменение строки в python – метод replace. 12 Задание, слайд 22
Ответ: 465

Слайд 23

Изменение строки в python – метод replace. 12 Задание, слайд 23
Задача (Трудно запрограммировать)
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. 1. заменить (v, w) 2. нашлось (v) Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w, вторая проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь

Слайд 24

Изменение строки в python – метод replace. 12 Задание, слайд 24
НАЧАЛО НАЧАЛО ПОКА нашлось (11) ЕСЛИ нашлось(112) ТО заменить (112, 5) ИНАЧЕ заменить (11, 3) КОНЕЦ ПОКА КОНЕЦ Исходная строка содержит 23 единицы и 5 двоек, других цифр нет, точный порядок расположения цифр неизвестен. Какую наибольшую сумму цифр может иметь строка, которая получится после выполнения программы?

Слайд 25

Изменение строки в python – метод replace. 12 Задание, слайд 25
ЕСЛИ нашлось(112) ТО заменить (112, 5) 1+1+2=4 ->5 (+1) ИНАЧЕ заменить (11, 3) 1+1=2->3 (+1)
Здесь не важно, по какой ветке будет идти программа, прирост в сумме цифр будет всегда равен 1.

Слайд 26

Изменение строки в python – метод replace. 12 Задание, слайд 26
Исходная строка содержит 23 единицы и 5 двоек: заменить (11, 3) 1111111111111111111111122222 11 раз по 3 = 33 122222 = 11 Ответ: 44

Слайд 27

Изменение строки в python – метод replace. 12 Задание, слайд 27
Задача 5
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. 1. заменить (v, w) 2. нашлось (v) Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w, вторая проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Дана программа для исполнителя Редактор:

Слайд 28

Изменение строки в python – метод replace. 12 Задание, слайд 28

НАЧАЛО ПОКА нашлось (01) или нашлось (02) заменить (01, 2202) заменить (02, 10) КОНЕЦ ПОКА КОНЕЦ
Известно, что начальная строка начиналась с нуля, а далее содержала только единицы и двойки. После выполнения данной программы получилась строка, содержащая 40 единиц и 64 двойки. Сколько двоек было в исходной строке ?

Слайд 29

Изменение строки в python – метод replace. 12 Задание, слайд 29
Известно, что начальная строка начиналась с нуля, а далее содержала только единицы и двойки. После выполнения данной программы получилась строка, содержащая 40 единиц и 64 двойки. Сколько двоек было в исходной строке ?
заменить (01, 2202) заменить (02, 10) 1: 01 -> 2202 -> 2210 2: 02 -> 10
Т.е. в окончательном результате двойки могли возникнуть только из 1. Двоек получается в два раза больше, чем было изначально единиц.

Слайд 30

Изменение строки в python – метод replace. 12 Задание, слайд 30
Ответ:
Получается, что изначальное количество единиц равно 64 / 2 = 32. Эти 32 единицы так же принесли 32 единицы. Всего 40 единиц стало. Значит, ещё 8 единиц получилось в результате преобразования 02 -> 10. Т.е. двоек будет 8.

Слайд 31

Изменение строки в python – метод replace. 12 Задание, слайд 31
Программный способ
for i in range(1, 100): for j in range(1, 100): s = '0' + '1'*i + '2'*j while ('01' in s) or ('02' in s): s = s.replace('01', '2202', 1) s = s.replace('02', '10', 1) if s.count('1')==40 and s.count('2')==64: print(j)

Слайд 32

Изменение строки в python – метод replace. 12 Задание, слайд 32
Источник информации:
https://code-enjoy.ru/ege_po_informatike_2022_zadanie_12_vpered_k_pobede/
^ Наверх
X

Благодарим за оценку!

Мы будем признательны, если Вы так же поделитесь этой презентацией со своими друзьями и подписчиками.

Закрыть (X)