Работа с тестирующей системой 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Работа с тестирующей системой



В наших курсах используется тестирующая система для автоматической проверки правильности работы ваших программ. При сдаче такой задачи в качестве домашнего задания, требуется:

1. Написать и отладить код программы. Сохранить его в файл.

Обратите внимание: ввод и вывод должны осуществляться строго в указанном формате. Программа не должна печатать никаких дополнительных подсказок.

2. При сдаче задачи выберите язык программирования и сохраненный вами файл.

3. Дождитесь окончания проверки. Если задача не принята — посмотрите ошибки компиляции в протоколе проверки. Если задача успешно скомпилировалась — в протоколе указано количество пройденных тестов.

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

Задачи поиска, замены и удаления подстроки в строке в Python

Строка (str) в Питоне является неизменяемым объектом, поэтому удалять или заменять символы в той же самой строке невозможно.

Вместо этого при помощи операций конкатенации и различных методов можно создать новую строку, которую присвоить той же переменной.

Выполним обход элементов строки в цикле for:

>>> myjob = 'hacker'
>>> for c in myjob:
>>> print(c, end=' ')
>>>
h a c k e r

Проверим факт наличия символа или подстроки при помощи оператора in:

>>> 'k' in myjob
True
>>> 'z' in myjob
False
>>> 'spam' in 'abcspamdef'
True

МЕТОДЫ FIND И RFIND

Метод find находит в данной строке (к которой применяется метод) данную подстроку (которая передается в качестве параметра). Функция возвращает индекс первого вхождения искомой подстроки. Если же подстрока не найдена, то метод возвращает значение -1. Например:

>>> S = 'Hello'

>>> print(S.find('e'))

>>> print(S.find('ll'))

>>> print(S.find('L'))

-1

Аналогично, метод rfind возвращает индекс последнего вхождения данной строки (“поиск справа”).

>>> S = 'Hello'

>>> print(S.find('l'))

>>> print(S.rfind('l'))

Если вызвать метод find с тремя параметрами S.find(T, a, b), то поиск будет осуществляться начиная с символа с номером a до символа с номером b (не включительно). Если указать только два параметра S.find(T, a), то поиск будет осуществляться, начиная с a-го элемента до конца строки. Метод S.find(T, a, b) возвращает индекс в строке S, а не индекс относительно начала среза.

МЕТОД REPLACE

Метод replace заменяет все вхождения одной строки на другую. Формат: S.replace(old, new) — заменить в строке S все вхождения подстроки old на подстроку new. Пример:

>>> 'Hello'.replace('l', 'L')

'HeLLo'

Если методу replace задать еще один параметр: S.replace(old, new, count), то заменены будут не все вхождения, а только не больше, чем первые count из них.

>>> 'Abrakadabra'.replace('a', 'A', 2)

'AbrAkAdabra'

МЕТОД COUNT

Подсчитывает количество вхождений одной строки в другую строку. Простейшая форма вызова S.count(T) возвращает число вхождений строки T внутри строки S. При этом подсчитываются только непересекающиеся вхождения, например:

>>> 'Abracadabra'.count('a')

>>> ('a' * 100000).count('aa')

При указании трех параметров S.count(T, a, b), будет выполнен подсчет числа вхождений строки T в срез S[a:b].

УДАЛЕНИЕ ПОДСТРОКИ

Удаление подстроки осуществляется заменой подстроки на пустую строку:

>>> 'Bob was eating tasty plum'.replace('tasty', '')
'Bob was eating plum'

Экранированные символы в Python

Экранированные последовательности, также называемые escape-последовательности, могут состоять из одного или нескольких символов после обратной косой черты:



Поделиться:


Последнее изменение этой страницы: 2017-02-19; просмотров: 447; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.123.32 (0.004 с.)