Просмотр содержимого документа
«Работа со строками в Python»
РаботасострокамивPython
Цельработы:познакомится с методами работы со строками.
Обучающийся должен:
владеть: навыками составления линейных алгоритмов на языке программирования Python с использованием строковых данных;
уметь: применять функции и методы строк при обработке строковых данных; знать: операции и методы обработки строк.
Строка — базовый тип представляющий из себя неизменяемую последовательность символов; str от «string» — «строка».
Функции и методы работы со строками
Функцияили метод
Назначение
S1 + S2
Конкатенация (сложение строк)
S1 * 3
Повторение строки
S[i]
Обращение по индексу
S[i:j:step]
Извлечение среза
len(S)
Длина строки
S.join(список)
Соединение строк из последовательности str через разделитель, заданный строкой
S1.count(S[, i, j])
количество вхождений подстроки s в строку s1. Результатом
является число. Можно указать позицию начала поиска i и окончания поиска j
S.find(str, [start],[end])
Поиск подстроки в строке. Возвращает номер первого вхождения или -1
S.index(str, [start],[end])
Поиск подстроки в строке. Возвращает номер первого вхождения или вызывает ValueError
S.rindex(str, [start],[end])
Поиск подстроки в строке. Возвращает номер последнего вхождения или вызывает ValueError
S.replace(шаблон,
замена)
Замена шаблона
S.split(символ)
Разбиение строки по разделителю
S.upper()
Преобразование строки к верхнему регистру
S.lower()
Преобразование строки к нижнему регистру
Ниже приведена программа, демонстрирующая использование функций и методов работы со строками.
Пример программы на Python
Результат выполнения программы с использованием функций и методов работы со
строками
Пример:
Вариант0
Проверить, будет ли строка читаться одинаково справа налево и слева направо (т. е. является ли она палиндромом).
Решение:
Сначала введём строку командой: s=input('Введите строку ').
Затем определим логическую переменную flag и присвоим ей значение 1: flag=1.
Для начала в введённой строке нужно удалить пробелы. Для этого воспользуемся циклической конструкцией for, которая выполнится столько раз, какую имеет длину строка. Длину строки определим функцией len(s).
В теле цикла будем проверять следующее условие: s[i]!=' '. Данное логическое выражение будет истинно в том случае, если i-ый элемент строки не будет равен пробелу, тогда выполнится команда следующая после двоеточия: string+=s[i].
К сроке string, которая была объявлена в начале программы, будет добавляться посимвольно строка s, но уже без пробелов.
Для проверки строки на "палиндром" воспользуемся циклической конструкцией for.
Длина половины строки находится делением нацело на 2. Если количество символов нечетно, то стоящий в середине не учитывается, т.к. его сравниваемая пара - он сам. Количество повторов цикла равно длине половины строки. Длину строки определим функцией len(s), где аргумент введённая нами строка s. Зная длину строки, можно вычислить количество повторов цикла. Для этого целочисленно разделим длину строки на 2: len(s)//2.
Для задания диапазона для цикла используем функцию range(), в которой аргументом будет являться половина длины строки: range(len(s//2 )). for i in range(len(s//2 )).
Если символ с индексом i не равен "симметричному" символу с конца строки (который находится путем индексации с конца) if s[i] != s[-1-i], то переменной flag присваивается значение 0 и происходит выход из цикла командой break.
Далее, при помощи условной конструкции if-else в зависимости от значения flag либо
- 0, либо -1 выводится сообщение, что строка палиндром, либо нет.
Пример программы на Python
Результат выполнения программы
Практическая работа №5
Работасосписками.ОперациинадспискамивPython
Цельработы:Изучение одномерных массивов в Python.
Массивы (списки) в Python — это определенное количество элементов одного типа, которые имеют общее имя, и каждый элемент имеет свой индекс — порядковый номер. Часто для работы с массивами используются списки.
Список (list) – это структура данных для хранения объектов различных типов. Списки являются упорядоченными последовательностями, которые состоят из различных типов данных, заключающихся в квадратные скобки [ ] и отделяющиеся друг от друга с помощью запятой.
Создание списков на Python
Создать список можно несколькими способами:
Получение списка через присваивание конкретных значений.
Так выглядит в коде Python пустой список:
s = [] # Пустой список
Примеры создания списков со значениями:
Списки можно складывать (конкатенировать) с помощью знака «+»:
Результат:
Создание списка при помощи функции Split()
Используя функцию split в Python можно получить из строки список. stroka
="Привет, страна" lst=stroka.split(",")
Результат:
Генераторы списков
В Python создать список можно также при помощи генераторов.
Первый способ:
Сложение одинаковых списков заменяется умножением: Список из 10 элементов, заполненный единицами l = [1]*10
Второй способ: Пример 1.
l = [i for i in range(10)]
Пример 2.
c = [c * 3 for c in 'list'] print (c) # ['lll', 'iii', 'sss', 'ttt']
Примеры использования генераторов списка
Пример1.
Заполнить список квадратами чисел от 0 до 9, используя генератор списка. Решение:
l = [i*i for i in range(10)]
Пример 2.
Заполнить список числами, где каждое последующее число больше на 2. l = [(i+1)+i for i in range(10)] print(l)
Модуль random предоставляет функции для генерации случайных чисел, букв, случайного выбора элементов последовательности. random.randint(A, B) - случайное целое число N, A ≤ N ≤ B. random.random() - случайное число от 0 до 1.
Случайные числа в списке:
10 чисел, сгенерированных случайным образом в диапазоне (10,80) from random import randint
l = [randint(10,80) for x in range(10)]
10 чисел, сгенерированных случайным образом в диапазоне (0,1) l = [random() for i in range(10)]
Ввод списка (массива) в языке Python
Для ввода элементов списка используется цикл for и команда range (): for i in range(N): x[i] = int( input() )
Более простой вариант ввода списка:
x = [ int(input()) for i in range(N) ]
Функция int здесь используется для того, чтобы строка, введенная пользователем, преобразовывалась в целые числа.