Упражнения

A: Делаем срезы

Дана строка.

Сначала выведите третий символ этой строки.

Во второй строке выведите предпоследний символ этой строки.

В третьей строке выведите первые пять символов этой строки.

В четвертой строке выведите всю строку, кроме последних двух символов.

В пятой строке выведите все символы с четными индексами (считая, что индексация начинается с 0, поэтому символы выводятся начиная с первого).

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

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

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

В девятой строке выведите длину данной строки.

Ввод Вывод
Абракадабра
р
р
Абрак
Абракадаб
Аркдба
бааар
арбадакарбА
абдкрА
11

B: В обратном порядке

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

Ввод Вывод
Python
n
o
h
t
y
P

C: Количество слов

Дана строка, состоящая из слов, разделенных пробелами. Определите, сколько в ней слов. Используйте для решения задачи метод count.

Ввод Вывод
Hello world
2

D: Две половинки

Дана строка. Разрежьте ее на две равные части (если длина строки — четная, а если длина строки нечетная, то длина первой части должна быть на один символ больше). Переставьте эти две части местами, результат запишите в новую строку и выведите на экран.

При решении этой задачи нельзя пользоваться инструкцией if.

Ввод Вывод
Hi
iH
Hello
loHel

E: Переставить два слова

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

При решении этой задачи нельзя пользоваться циклами и инструкцией if.

Ввод Вывод
Hello world
world Hello

F: Дробь

Дана строка, в которой записана рациональная дробь в виде m/n, где m и n — целые неотрицательные числа, n не равно 0. Вычислите значение этой дроби и выведите его в виде действительного числа.

Указание. Найдите позицию символа «/». При помощи двух срезов выделите числитель и знаменатель, приведите их к типу int.

Ввод Вывод
179/57
3.1403508771929824

G: Первое и последнее вхождение

Дана строка. Если в этом числе буква f встречается только один раз, выведите её индекс. Если она встречается два и более раз, выведите индекс её первого и последнего появления. Если буква f в данной строке не встречается, ничего не выводите.

При решении этой задачи нельзя использовать метод count и циклы.

Ввод Вывод
comfort
3
office
1 2

H: Второе вхождение

Дана строка. Найдите в этой строке второе вхождение буквы f, и выведите индекс этого вхождения. Если буква f в данной строке встречается только один раз, выведите число -1, а если не встречается ни разу, выведите число -2.

При решении этой задачи нельзя использовать метод count. Метод find (а также rfind) можно вызывать не более двух раз. Для решения этой задачи нельзя использовать циклы.

Ввод Вывод
comfort
-1
coffee
3

I: Удаление фрагмента

Дана строка, в которой буква h встречается минимум два раза. Удалите из этой строки первое и последнее вхождение буквы h, а также все символы, находящиеся между ними.

Методом replace пользоваться нельзя.

Ввод Вывод
In the hole in the ground there lived a hobbit
In tobbit

J: Обращение фрагмента

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

Методом replace пользоваться нельзя.

Ввод Вывод
In the hole in the ground there lived a hobbit
In th a devil ereht dnuorg eht ni eloh ehobbit

K: Дублирование фрагмента

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

Методом replace пользоваться нельзя.

Ввод Вывод
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

L: Замена подстроки

Дана строка. Замените в этой строке все цифры 1 на слово one.

Ввод Вывод
1+1=2
one+one=2

M: Удаление символа

Дана строка. Удалите из этой строки все символы @.

Ввод Вывод
Bilbo.Baggins@bagend.hobbiton.shire.me
Bilbo.Bagginsbagend.hobbiton.shire.me

N: Замена внутри фрагмента

Дана строка. Замение в этой строке все появления буквы h на букву H, кроме первого и последнего вхождения.

Ввод Вывод
In the hole in the ground there lived a hobbit
In the Hole in tHe ground tHere lived a hobbit

O: Вставка символов

Дана строка. Получите новую строку, вставив между каждыми соседними символами исходной строки символ *. Выведите полученную строку.

В этой задаче можно использовать цикл, но можно обойтись и без него (нужно догадаться самому).

Ввод Вывод
Python
P*y*t*h*o*n

P: Удалить каждый третий символ

Дана строка. Удалите из нее все символы, чьи индексы делятся на 3.

В этой задаче вам придётся использовать цикл.

Ввод Вывод
Python
yton

Q: Метод бутерброда

Секретное агентство решило для шифрования переписки своих сотрудников использовать «метод бутерброда». Сначала буквы слова нумеруются в таком порядке: первая буква получает номер 1, последняя буква - номер 2, вторая – номер 3, предпоследняя – номер 4, потом третья … и так для всех букв (см. рисунок). Затем все буквы записываются в шифр в порядке своих номеров. Например, слово «sandwich» зашифруется в «shacnidw».

К сожалению, программист агентства, написал только программу шифрования и уволился. И теперь агенты не могут понять, что же они написали друг другу. Помогите им.

Вводится слово, зашифрованное методом бутерброда. Выведите расшифрованное слово.

В этой задаче можно обойтись без цикла (и это не очень сложно), но цикл не запрещается.

Ввод Вывод
Aabrrbaacda
Abracadabra

R: Футбольный матч

На табло стадиона в конце игры горит надпись:

Название 1-Название 2 A:B

где Название 1 и Название 2 — названия двух команд, а A:B — счёт матча.

Определите, какая команда победила.

Названия команд могут содержать любые символы (буквы, цифры, знаки), кроме «-» и «:». Символы «-» и «:» содержатся в строке ровно по одному разу.

Программа должна вывести название победившей команды, а если таких несколько — то слово draw.

В этой задаче циклы не нужны.

Ввод Вывод
Арсенал (Тула)-Спартак (Москва) 3:0
Арсенал (Тула)