История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Топ:
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного...
Интересное:
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Дисциплины:
2020-08-21 | 1521 |
5.00
из
|
Заказать работу |
|
|
Строки
Строка считывается со стандартного ввода функцией input(). Напомним, что для двух строк определа операция сложения (конкатенации), также определена операция умножения строки на число.
Строка состоит из последовательности символов. Узнать количество символов (длину строки) можно при помощи функции len:
>>> S = 'Hello'
>>> print(len(S))
Срезы (slices)
Срез (slice) — извлечение из данной строки одного символа или некоторого фрагмента подстроки или подпоследовательности.
Есть три формы срезов. Самая простая форма среза: взятие одного символа строки, а именно, S[i] — это срез, состоящий из одного символа, который имеет номер i, при этом считая, что нумерация начинается с числа 0. То есть если S='Hello', то S[0]=='H', S[1]=='e', S[2]=='l', S[3]=='l', S[4]=='o'.
Номера символов в строке (а также в других структурах данных: списках, кортежах) называются индексом.
Если указать отрицательное значение индекса, то номер будет отсчитываться с конца, начиная с номера -1. То есть S[-1]=='o', S[-2]=='l', S[-3]=='l', S[-4]=='e', S[-5]=='H'.
Или в виде таблицы:
Строка S | H | e | l | l | o |
Индекс | S[0] | S[1] | S[2] | S[3] | S[4] |
Индекс | S[-5] | S[-4] | S[-3] | S[-2] | S[-1] |
Если же номер символа в срезе строки S больше либо равен len(S), или меньше, чем -len(S), то при обращении к этому символу строки произойдет ошибка IndexError: string index out of range.
Срез с двумя параметрами: S[a:b] возвращает подстроку из b-a символов, начиная с символа c индексом a, то есть до символа с индексом b, не включая его. Например, S[1:4]=='ell', то же самое получится если написать S[-4:-1]. Можно использовать как положительные, так и отрицательные индексы в одном срезе, например, S[1:-1] — это строка без первого и последнего символа (срез начинается с символа с индексом 1 и заканчиватеся индексом -1, не включая его).
|
При использовании такой формы среза ошибки IndexError никогда не возникает. Например, срез S[1:5] вернет строку 'ello', таким же будет результат, если сделать второй индекс очень большим, например, S[1:100] (если в строке не более 100 символов).
Если опустить второй параметр (но поставить двоеточие), то срез берется до конца строки. Например, чтобы удалить из строки первый символ (его индекс равен 0, то есть взять срез, начиная с символа с индексом 1), то можно взять срез S[1:], аналогично если опустиить первый параметр, то срез берется от начала строки. То есть удалить из строки последний символ можно при помощи среза S[:-1]. Срез S[:] совпадает с самой строкой S.
Если задать срез с тремя параметрами S[a:b:d], то третий параметр задает шаг, как в случае с функцией range, то есть будут взяты символы с индексами a, a+d, a+2*d и т.д. При задании значения третьего параметра, равному 2, в срез попадет кажый второй символ, а если взять значение среза, равное -1, то символы будут идти в обратном порядке.
Методы
Метод - это функция, применяемая к объекту, в данном случае - к строке. Метод вызывается в виде Имя_объекта.Имя_метода(параметры). Например, S.find("e") — это применение к строке S метода find с одним параметром "e".
Методы
Метод find и rfind
Метод find находит в данной строке (к которой применяется метод) данную подстроку (которая передается в качестве параметра). Функция возвращает индекс первого вхождения искомой подстроки. Если же подстрока не найдена, то метод возвращает значение -1. Например:
>>> S = 'Hello'>>> print(S.find('e'))1>>> print(S.find('ll'))2>>> print(S.find('L'))-1Аналогично, метод rfind возвращает индекс последнего вхождения данной строки (“поиск справа”).
>>> S = 'Hello'>>> print(S.find('l'))2>>> print(S.rfind('l'))3Если вызвать метод find с тремя параметрами S.find(T, a, b), то поиск будет осуществляться в срезе S[a:b]. Если указать только два параметра S.find(T, a), то поиск будет осуществляться в срезе S[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')4>>> ('a' * 100000).count('aa')50000При указании трех параметров S.count(T, a, b), будет выполнен подсчет числа вхождений строки T в срез S[a:b].
Задача.
Делаем срезы
Данные вводятся с клавиатуры или из файла input.txt, выводятся на экран или в файл output.txt. Первые тесты не всегда совпадают с примерами из условия.
На языке программирование Python нельзя использовать циклы.
Входные данные
Дана строка.
Выходные данные
Сначала выведите третий символ этой строки.
Во второй строке выведите предпоследний символ этой строки.
В третьей строке выведите первые пять символов этой строки.
В четвертой строке выведите всю строку, кроме последних двух символов.
В пятой строке выведите все символы с четными индексами (считая, что индексация начинается с 0, поэтому символы выводятся начиная с первого).
В шестой строке выведите все символы с нечетными индексами, то есть начиная со второго символа строки.
В седьмой строке выведите все символы в обратном порядке.
В восьмой строке выведите все символы строки через один в обратном порядке, начиная с последнего.
В девятой строке выведите длину данной строки.
Примеры
Входные данные
Abrakadabra
Выходные данные
r
r
Abrak
Abrakadab
Arkdba
baaar
arbadakarbA
abdkrA
11
Входные данные
Вводится строка.
Выходные данные
Выведите ответ на задачу.
Примеры
Входные данные
Hello world
Выходные данные
2
Дана строка. Разрежьте ее на две равные части (если длина строки — четная, а если длина строки нечетная, то длина первой части должна быть на один символ больше). Переставьте эти две части местами, результат запишите в новую строку и выведите на экран.
|
Входные данные
Вводится строка.
Выходные данные
Выведите ответ на задачу.
Примеры
Входные данные
Hi
Выходные данные
iH
Входные данные
Hello
Выходные данные
loHel
Входные данные
Вводится строка.
Выходные данные
Выведите ответ на задачу.
Примеры
Входные данные
Hello, world!
Выходные данные
world! Hello,
Дана строка. Если в этом числе буква f встречается только один раз, выведите её индекс. Если она встречается два и более раз, выведите индекс её первого и последнего появления. Если буква f в данной строке не встречается, ничего не выводите.
Входные данные
Вводится строка.
Выходные данные
Выведите ответ на задачу.
Примеры
Входные данные
comfort
Выходные данные
3
Входные данные
office
Выходные данные
1 2
Дана строка. Найдите в этой строке второе вхождение буквы f, и выведите индекс этого вхождения. Если буква f в данной строке встречается только один раз, выведите число -1, а если не встречается ни разу, выведите число -2.
Входные данные
Вводится строка.
Выходные данные
Выведите ответ на задачу.
Примеры
Входные данные
comfort
Выходные данные
-1
Входные данные
coffee
Выходные данные
3
Входные данные
Вводится строка.
Выходные данные
Выведите ответ на задачу.
Примеры
Входные данные
In the hole in the ground there lived a hobbit
Выходные данные
In tobbit
Входные данные
Вводится строка.
Выходные данные
Выведите ответ на задачу.
Примеры
Входные данные
In the hole in the ground there lived a hobbit
Выходные данные
In th a devil ereht dnuorg eht ni eloh ehobbit
Дана строка, в которой буква h встречается как минимум два раза. Повторите последовательность символов, заключенную между первым и последнием появлением буквы h два раза, сами буквы h повторять не надо.
Входные данные
Вводится строка.
Выходные данные
Выведите ответ на задачу.
Примеры
Входные данные
|
In the hole in the ground there lived a hobbit
Выходные данные
In the hole in the ground there lived a e hole in the ground there lived a hobbit
Входные данные
Вводится строка.
Выходные данные
Выведите ответ на задачу.
Примеры
Входные данные
1+1=2
Выходные данные
one+one=2
11. Дана строка. Удалите из этой строки все символы @.
Входные данные
Вводится строка.
Выходные данные
Выведите ответ на задачу.
Примеры
Входные данные
Выходные данные
Bilbo.Bagginsbagend.hobbiton.shire.me
Входные данные
Вводится строка.
Выходные данные
Выведите ответ на задачу.
Примеры
Входные данные
In the hole in the ground there lived a hobbit
Выходные данные
In the Hole in tHe ground tHere lived a hobbit
13. Дана строка. Получите новую строку, вставив между двумя символами исходной строки символ *. Выведите полученную строку.
Входные данные
Вводится строка.
Выходные данные
Выведите ответ на задачу.
Примеры
Входные данные
Python
Выходные данные
P*y*t*h*o*n
Входные данные
Вводится строка.
Выходные данные
Выведите ответ на задачу.
Примеры
Входные данные
Python
Выходные данные
yton
Строки
Строка считывается со стандартного ввода функцией input(). Напомним, что для двух строк определа операция сложения (конкатенации), также определена операция умножения строки на число.
Строка состоит из последовательности символов. Узнать количество символов (длину строки) можно при помощи функции len:
>>> S = 'Hello'
>>> print(len(S))
Срезы (slices)
Срез (slice) — извлечение из данной строки одного символа или некоторого фрагмента подстроки или подпоследовательности.
Есть три формы срезов. Самая простая форма среза: взятие одного символа строки, а именно, S[i] — это срез, состоящий из одного символа, который имеет номер i, при этом считая, что нумерация начинается с числа 0. То есть если S='Hello', то S[0]=='H', S[1]=='e', S[2]=='l', S[3]=='l', S[4]=='o'.
Номера символов в строке (а также в других структурах данных: списках, кортежах) называются индексом.
Если указать отрицательное значение индекса, то номер будет отсчитываться с конца, начиная с номера -1. То есть S[-1]=='o', S[-2]=='l', S[-3]=='l', S[-4]=='e', S[-5]=='H'.
Или в виде таблицы:
Строка S | H | e | l | l | o |
Индекс | S[0] | S[1] | S[2] | S[3] | S[4] |
Индекс | S[-5] | S[-4] | S[-3] | S[-2] | S[-1] |
Если же номер символа в срезе строки S больше либо равен len(S), или меньше, чем -len(S), то при обращении к этому символу строки произойдет ошибка IndexError: string index out of range.
Срез с двумя параметрами: S[a:b] возвращает подстроку из b-a символов, начиная с символа c индексом a, то есть до символа с индексом b, не включая его. Например, S[1:4]=='ell', то же самое получится если написать S[-4:-1]. Можно использовать как положительные, так и отрицательные индексы в одном срезе, например, S[1:-1] — это строка без первого и последнего символа (срез начинается с символа с индексом 1 и заканчиватеся индексом -1, не включая его).
|
При использовании такой формы среза ошибки IndexError никогда не возникает. Например, срез S[1:5] вернет строку 'ello', таким же будет результат, если сделать второй индекс очень большим, например, S[1:100] (если в строке не более 100 символов).
Если опустить второй параметр (но поставить двоеточие), то срез берется до конца строки. Например, чтобы удалить из строки первый символ (его индекс равен 0, то есть взять срез, начиная с символа с индексом 1), то можно взять срез S[1:], аналогично если опустиить первый параметр, то срез берется от начала строки. То есть удалить из строки последний символ можно при помощи среза S[:-1]. Срез S[:] совпадает с самой строкой S.
Если задать срез с тремя параметрами S[a:b:d], то третий параметр задает шаг, как в случае с функцией range, то есть будут взяты символы с индексами a, a+d, a+2*d и т.д. При задании значения третьего параметра, равному 2, в срез попадет кажый второй символ, а если взять значение среза, равное -1, то символы будут идти в обратном порядке.
Методы
Метод - это функция, применяемая к объекту, в данном случае - к строке. Метод вызывается в виде Имя_объекта.Имя_метода(параметры). Например, S.find("e") — это применение к строке S метода find с одним параметром "e".
Методы
Метод find и rfind
Метод find находит в данной строке (к которой применяется метод) данную подстроку (которая передается в качестве параметра). Функция возвращает индекс первого вхождения искомой подстроки. Если же подстрока не найдена, то метод возвращает значение -1. Например:
>>> S = 'Hello'>>> print(S.find('e'))1>>> print(S.find('ll'))2>>> print(S.find('L'))-1Аналогично, метод rfind возвращает индекс последнего вхождения данной строки (“поиск справа”).
>>> S = 'Hello'>>> print(S.find('l'))2>>> print(S.rfind('l'))3Если вызвать метод find с тремя параметрами S.find(T, a, b), то поиск будет осуществляться в срезе S[a:b]. Если указать только два параметра S.find(T, a), то поиск будет осуществляться в срезе S[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')4>>> ('a' * 100000).count('aa')50000При указании трех параметров S.count(T, a, b), будет выполнен подсчет числа вхождений строки T в срез S[a:b].
Задача.
Делаем срезы
Данные вводятся с клавиатуры или из файла input.txt, выводятся на экран или в файл output.txt. Первые тесты не всегда совпадают с примерами из условия.
На языке программирование Python нельзя использовать циклы.
Входные данные
Дана строка.
Выходные данные
Сначала выведите третий символ этой строки.
Во второй строке выведите предпоследний символ этой строки.
В третьей строке выведите первые пять символов этой строки.
В четвертой строке выведите всю строку, кроме последних двух символов.
В пятой строке выведите все символы с четными индексами (считая, что индексация начинается с 0, поэтому символы выводятся начиная с первого).
В шестой строке выведите все символы с нечетными индексами, то есть начиная со второго символа строки.
В седьмой строке выведите все символы в обратном порядке.
В восьмой строке выведите все символы строки через один в обратном порядке, начиная с последнего.
В девятой строке выведите длину данной строки.
Примеры
Входные данные
Abrakadabra
Выходные данные
r
r
Abrak
Abrakadab
Arkdba
baaar
arbadakarbA
abdkrA
11
Дана строка, состоящая из слов, разделенных пробелами. Определите, сколько в ней слов. Используйте для решения задачи метод count.
Входные данные
Вводится строка.
Выходные данные
Выведите ответ на задачу.
Примеры
Входные данные
Hello world
Выходные данные
2
Дана строка. Разрежьте ее на две равные части (если длина строки — четная, а если длина строки нечетная, то длина первой части должна быть на один символ больше). Переставьте эти две части местами, результат запишите в новую строку и выведите на экран.
|
|
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!