Программирование решенные задачи строки

Решение модуля 2.2 Инди-курс программирования на Python

Модуль 2.2 (Строки: индексы и срезы) посвящен изучению самых популярных объектов в программировании на Python — строки.

Ниже представлены примеры задач с решением на тему Строки: индексы и срезы.

У нас есть переменная s, в которой хранится строка «Messi». Как правильно получить символ «e»?

Программа получает на вход строку и ваша задача вывести первый элемент данной строки

s = ‘Заратустра’
print(s[-3])

Что выведет данная программа?

s = ‘Free Nginx’
print(s[50])

Что выведет данная программа?

Ничего, будет ошибка IndexError

Программа получает на вход строку и ваша задача вывести последний символ этой строки

Программа получает на вход строку и ваша задача вывести первые 4 символа этой строки

Гарантируется, что вводится будет строка длиной не менее 4 символов

Программа получает на вход строку и ваша задача вывести последние 4 символа этой строки

Гарантируется, что вводится будет строка длиной не менее 4 символов

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

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

Программа получает на вход строку. Ваша задача развернуть строку и вывести ее на экран.

Программа получает на вход строку.

Выведите каждый третий символ строки в обратном порядке, начиная с последнего.

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

s = input() res = s[-1]+s[0:-1] print(res)

Источник

Строковый тип данных. Решение задач на Pascal

Строки — это особый тип данных, который во многих языках программирования может быть обработан как массив символов. При этом существуют различные встроенные функции при работе со строками (в том числе они есть в языке Pascal), которые часто используются при решении задач.

Частота встречаемости символа в строке Определить, как часто встречается определенный символ в строке. Четные и нечетные символы разделить по разным строкам Создайте из четных символов строки str1 строку str2 и из нечетных символов — строку str3. Количество цифр в строке Написать программу, которая подсчитывает, сколько содержится цифр в строке. Переворот строки Перевернуть строку, то есть последние символы должны стать первыми, а первые последними. Является ли строка палиндром? Определить, является ли строка палиндромом. Палиндром – это число, слово или фраза, одинаково читающиеся в обоих направления. Подсчет количества слов в строке Подсчитать количество слов во введенной пользователем строке. Считаем, что слова разделяются исключительно одним пробелом, а первый и последний символы строки не являются пробелами. Определить длину самого короткого слова в строке Дана строка, состоящая из английских слов, разделенных пробелами и знаками препинания. Определить длину самого короткого слова. Замена подстроки в строке Найти в строке определенную последовательность символов (подстроку) и заменить ее другой. Удаление одинаковых символов Оставить в строке только один экземпляр каждого встречающегося символа. Вывести слова строки в обратном порядке Вводится строка слов. Вывести слова в обратном порядке. Сортировка массива строк по алфавиту Отсортировать массив строк по алфавиту. Учитывать только первый символ каждой строки.

Источник

Решение задач по теме «Строки»

В статье представлены задачи различных типов: подсчет частоты появления символа в строке; поиск подстроки в строке, замена найденной подстроки на другую строку; выделение слов из строки, нахождение числа слов в строке, нахождение минимальной (максимальной) длины слова в строке; сравнение и сортировка строк и др.

Все приведенные программы написаны на языке программирования PascalABC.

С помощью функции копирования и операции конкатенации составить из частей слова “информатика” слово “торт”.

Подсчитать, сколько раз среди символов заданной строки встречается буква “а”.

writeln(‘Буква “а” встречается ‘, k, ‘ раз(а)’);

Найти долю пробелов в строке A.

writeln(‘Доля пробелов в строке ‘, d);

Заменить все буквы “а” на буквы “б” в заданной строке.

Из заданной строки получить новую, повторив каждый символ дважды.

Дано слово. Вывести слово, содержащее те же символы, но расположенные в обратном порядке.

for i:=length(s) downto 1 do write(s[i]);

Проверить, является ли заданное слово палиндромом.

if k=1 then writeln(‘Слово “’, s, ‘” не палиндром’)

else writeln(‘Слово “’, s, ‘” палиндром’);

Строка X состоит из нескольких предложений, каждое из которых кончается точкой, восклицательным или вопросительным знаком. Определить количество предложений в строке X.

writeln(‘В строке ‘, k, ‘ предложений’);

Проверить правильность расстановки скобок в формуле. Расстановку считать правильной, если число открывающих скобок равно числу закрывающих скобок.

for i:=1 to length(f) do begin

if ko=kz then writeln(‘Правильная расстановка скобок’)

else writeln(‘Неправильная расстановка скобок’);

Проверить правильность расстановки скобок в формуле. Учитывать порядок скобок.

if k=0 then writeln(‘Правильная расстановка скобок’)

else writeln(‘Неправильная расстановка скобок’);

for i:=1 to length(f) do begin

writeln(‘Правильная расстановка скобок’)

writeln(‘Неправильная расстановка скобок’);

В заданной строке подсчитать количество букв латинского алфавита.

write(‘Введите строку символов: ‘);

writeln(‘В строке “’, s, ‘” ‘, k, ‘ латинских букв’);

Подсчитать количество цифр в заданной строке.

write(‘Введите строку символов: ‘);

writeln(‘В строке “’, s, ‘” ‘, k, ‘ цифр’);

Из заданной строки получить новую, удалив из нее все пробелы.

Из заданной строки получить новую, удалив все буквы латинского алфавита.

Подсчитать, сколько раз встречается в тексте заданный фрагмент.

if copy(t, i, length(f))=f then k:=k+1;

writeln(‘Фрагмент “’, f, ‘” встречается в тексте ‘, k, ‘ раз(а)’);

Проверить, является ли частью данного слова слово “сок”. Ответ должен быть “да” или “нет”.

В заданной строке всюду “1999” заменить на “2000”.

if copy(a,i,4)=’1999′ then begin

Ввести с клавиатуры строку, содержащую фамилию, имя и отчество. Слова в строке разделять одним пробелом. Получить новую строку, содержащую фамилию и инициалы.

write(‘Введите фамилию, имя и отчество: ‘);

Подсчитать количество слов в исходной строке. Слова считать отделенными друг от друга одним пробелом.

writeln(‘Количество слов в строке ‘, k);

Подсчитать количество слов в исходной строке. Слова считать отделенными друг от друга одним или несколькими пробелами.

for i:=1 to length(s) do begin

writeln(‘Количество слов в строке ‘, k);

Проверить цепочку слов на совпадение первой буквы следующего слова с последней буквой предыдущего слова.

write(‘Введите слова через пробел: ‘);

if f=0 then writeln(‘Совпадают’)

Определить наименьшую длину слова в заданной строке. Слова считать отделенными друг от друга одним или несколькими пробелами.

for i:=1 to length(s) do begin

else if (min>lw) and (lw>0) then begin

writeln(‘Наименьшая длина слова ‘, min);

Ввести с клавиатуры 10 слов и вывести их на экран в алфавитном порядке.

writeln(‘Список слов по алфавиту:’);

Источник

[ Сборник задач ]Тема 8. Работа со строками

Рассмотрим строки как тип данных в Python. Опишем основные методы и свойства строк, необходимые для решения задач.

One

Строки в языке питон являются неизменяемыми объектами. Это значит, что в момент запуска скрипта ячейка памяти, на которую ссылается строка, не меняется. Из этого следует, что символы этого типа данных не могут меняться или переприсваиваться.

Они поддерживают различные операторы, могут сравниваться, включают большое количество встроенных методов. Любые действия над строками не модифицируют их, а создают новый объект.

Для успешного решения заданий нужно повторить: срезы, методы строк, операции и основные свойства.

Two

Для того, чтобы приведенные в коде символы интерпретировались как строка, их нужно обернуть в кавычки. Имеется 4 способа это сделать:

– одинарные кавычки
– двойные кавычки
– тройные одинарные кавычки (многострочный текст с сохранением форматирования)
– тройные двойные кавычки (многострочный текст с сохранением форматирования)

Пример – Интерактивный режим
>>> ‘Одинарные кавычки’
‘Одинарные кавычки’
>>> «Двойные кавычки»
Двойные кавычки
>>> »’Тройные
одинарные
кавычки »’
‘Тройные \n одинарные \nкавычки ‘
>>> «»»
Тройные
двойные
кавычки»»»
‘\n Тройные \nдвойные \n\nкавычки’

Операция сложения или конкатенирования складывает две или более строк в одну. В качестве аргументов могут выступать только строки.

Пример – Интерактивный режим
>>> ‘Hello ‘ + ‘Py’
‘Hello Py’
>>> ‘Hello ‘ + 4
TypeError: can only concatenate str (not «int») to str

Операция умножения, применяемая к строкам, подразумевает ее дублирование определенное количество раз (в соответствии со значением числа, которое передано в качестве параметра. Если передать отрицательное число или ноль, то вернется пустая строка).

Пример – Интерактивный режим
>>> ‘Hello ‘ * 4
‘Hello Hello Hello Hello ‘
>>> ‘Hello ‘ * -4
»

Всё в питоне можно сделать строкой (так как все объекты имеют свойство __str__ , первично унаследованное от прародителя всех классов object ).

Поэтому любое число, список, объект или функцию можно представить в виде строки.

Не всегда приведение объекта к строке дает нам полезную информацию, но такая возможность имеется.

Метод encode() отображает строку в заданной кодировке. По умолчанию используется utf-8 . Можно использовать и другие варианты кодировки, но при невозможности закодировать строку возникнет ошибка.

Пример – Интерактивный режим
>>> ‘cat’.encode(encoding=’ascii’)
b’cat’
>>> ‘кот’.encode(encoding=’utf-8′)
b’\xd0\xba\xd0\xbe\xd1\x82′
>>> ‘кот’.encode(encoding=’cp1251′)
b’\xea\xee\xf2′
>>> ‘кот’.encode(encoding=’utf32′)
b’\xff\xfe\x00\x00:\x04\x00\x00>\x04\x00\x00B\x04\x00\x00′
>>> ‘кот’.encode(encoding=’ascii’)
UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-2: ordinal not in range(128)

Срезы строк возвращают новый объект на основании переданных параметров.

В общем виде синтаксис следующий:

СТРОКА[начало:конец:шаг]

Параметры можно опускать, поддерживается и отрицательная индексация (с конца). При любых значениях индексов (даже за рамками длины строки) возвратится объект(в том числе пустой), и никогда не возникнет ошибка.

Шаг означает пропуски символов в строке: по умолчанию 1 – не пропускать символы, а, например, 3 – брать в срез только каждый третий элемент строки.

Отрицательный шаг берет символы в обратном порядке (от конца текста к началу).

Пример – Интерактивный режим
>>> ‘Это строка'[1]
‘т’
>>>’Это строка'[::2]
‘Эосрк’
>>>’Это строка'[::-1]
‘акортс отЭ’
>>> ‘Это строка'[1:4]
‘то ‘
>>> ‘Это строка'[:34:3]
‘Э ра’
>>> ‘Это строка'[-1:-4:-1]
‘ако’
>>> ‘Это строка'[:]
‘Это строка’

Согласно PEP-257 строка документации ( docstring ) — это одно- или многострочный строковый литерал, разделенный тройными одинарными кавычками в начале модуля, функции, класса, метода и описывающий, что делает этот объект.
Важное замечание: docstring может быть представлен только в тройных одинарных кавычках, независимо от того, расположен ли он в одной строке или на нескольких.
Почти все объекты (функции, классы, модули или методы) имеют описание, которое можно посмотреть. Для этого используется свойство __doc__ .

Пример – Интерактивный режим
>>> import math
>>> math.__doc__
‘This module provides access to the mathematical functions\ndefined by the C standard.’
>>> math.sqrt.__doc__
‘Return the square root of x.’

Стоит отметить, что функция help() возвращает более полную информацию, нежели свойство __doc__ .

При оформлении docstring принято пользоваться одним из 4-х шаблонов:
– NumPy
– PyDoc
– EpyDoc
– Google

Источник

Читайте также:  Проверить свой уровень программирования
Оцените статью