Практическая работа "Обработка строк с использованием функций стандартной библиотеки языка программирования"
Цель: научиться использовать стандартные функции языка программирования Python при обработке строк.
Ход работы
Вариант 1
1. В программу вводится строка, а затем символ, который нужно найти. Напишите программу, которая узнает, на каком месте в строке стоит первый найденный символ и посчитает количество таких символов в строке.
Пример:
Введите строку: Дробя стекло, кует булат.
Введите символ: о
Первый символ «о» стоит на 2 месте
В строке символ встречается 2 раза
2. В программу вводится имя и отчество, программа должна сократить их до уровня инициалов, записанных через точку.
Пример:
Введите имя и отчество: Захар Иванович
Инициалы: З.А.
3. Дан алгоритм, который обрабатывает строку, состоящую из 88 подряд идущих цифр 9. Какая строка получится в результате выполнения алгоритма?
ПОКА нашлось(33333) ИЛИ нашлось(999)
ЕСЛИ нашлось (33333)
ТО заменить (33333, 99)
ИНАЧЕ заменить (999, 3)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
Вывод:
-
Что такое срезы в Python? В каких случаях удобно использовать срезы? Привести примеры.
-
Какие стандартные функции и методы для работы со строками вам известны? Приведите примеры их использования.
Вариант 2
-
В программу вводится строка, состоящая из букв латинского алфавита wxyz. Написать программу, которая будет определять наибольшую длину подстроки, состоящей из подряд идущих символов x.
Пример:
Введите строку: wwxxxyyzxxxxxyw
Длина подстроки: 5
Пояснение: в строке ‘wwxxxyyzxxxxxyw’ подстрока из символов х встречается два раза: ‘wwxxxyyzxxxxxyw’. Длина наибольшей равна 5.
-
В программу вводится название устройства, состоящее из трёх слов и серийного номера устройства. Программа должна сократить название до уровня аббревиатура и серийный номер.
Пример:
Введите название устройства: Электронная вычислительная машина 2366
Аббревиатура: ЭВМ 2366
-
Дан алгоритм, который обрабатывает строку, которая начинается цифры «1», а затем содержащая n цифр «7» (3n
ПОКА нашлось (11) ИЛИ нашлось (444) ИЛИ нашлось (7777)
ЕСЛИ нашлось (11)
ТО заменить (11, 4)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (444)
ТО заменить (444, 77)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (7777)
ТО заменить (7777, 1)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
Вывод:
-
Как с помощью срезов можно перевернуть строку? Привести 2 примера.
-
Какие стандартные функции и методы для работы со строками вам известны? Приведите примеры их использования.
Вариант 3
-
В программу вводится строка, состоящая из букв латинского алфавита wxyz. Написать программу, которая будет определять наибольшую длину подстроки, в которой два подряд идущих символа различны.
Пример:
Введите строку: wwxzxywyzxxxxxyw
Длина подстроки: 9
Пояснение: в строке ‘wwxzxywyzxxxxxyw’ подстрока из символов, где каждые два подряд идущих символа различны wxzxywyzx – длина 9 символов.
-
В программу вводится строка, в которой могут содержаться латинские цифры I, II, III, IV, V. Написать программу, которая заменит все латинские цифры на соответствующие им арабские.
Пример:
Введите строку: Анатолий без проблем решил задачу V из варианта III.
Результат: Анатолий без проблем решил задачу 5 из варианта 3.
-
На вход приведённой программе поступает строка, которая начинается со знака «+» и содержит 39 цифр «0», n цифр «1» и 40 цифр «2». Определить наибольшее значение n (2nполучившейся в результате выполнения программы, является простым числом.
НАЧАЛО
ПОКА нашлось(+1) ИЛИ нашлось(+2) ИЛИ нашлось(+0)
ЕСЛИ нашлось(+1)
ТО заменить(+1,22+)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось(+2)
ТО заменить(+2,2+)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось(+0)
ТО заменить(+0,1+)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Вывод:
-
Какие виды срезов вам известны. Привести примеры.
-
Как можно сделать замену символа в строке без метода replace?
vk.com/it_videouroki