2026/27, 10Д, Python: Символы и строки (часть1)

A: Таблица ASCII

Выведите все символы ASCII с кодами от 33 до 126 и их коды в следующем виде.

Пример вывода

! 33
" 34
# 35
...
} 125
~ 126

B: От омеги до коппы

Напишите программу, которые выводит исторические кириллические символы, начиная с омеги и заканчивая коппой.

Программа должна вывести заглавные буквы, их коды — чётные числа от 1120 до 1152, разделяя символы пробелом.

Пример вывода

Ѡ Ѣ Ѥ ... Ҁ

C: Следующий символ

Дан один символ. Выведите следующий за ним символ в таблице ASCII.

Примеры

ВводВывод
A
B
z
{

D: Символы в заданном интервале

Выведите подряд, без пробелов, все символы, лежащие в таблице ASCII между двумя заданными символами.

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

Примеры

ВводВывод
A
D
ABCD
0
9
0123456789

E: isdigit

Для данного символа проверьте, является ли он цифрой.

Решение оформите в виде функции isdigit(c: str) -> bool.

На проверку сдайте только тело функции.

В решении нельзя использовать циклы условную инструкцию. В решении нельзя использовать константы с неочевидным значением типа 48 или 57. Да и функция ord тоже не нужна.

Пример

Вызов функции Возвращаемое значение
isdigit('0')
True
isdigit('A')
False

F: upper

Напишите функцию upper(c: str) -> str, которая переводит символ в верхний регистр, то есть для строчной буквы латинского алфавита возвращает сооветствующую заглавную букву латинского алфавита, а для остальных символов возвращает тот же символ.

На проверку сдайте только тело функции.

Примеры

Вызов функции Возвращаемое значение
upper('f')
'F'
upper('F')
'F'
upper('4')
'4'

G: lower

Напишите функцию lower(s: str) -> str, которая переводит все символы данной строки в нижний регистр.

На проверку сдайте только тело функции (можете использовать и вспомогательные функции при необходимости).

Пример

Вызов функции Возвращаемое значение
lower('Hello, world!')
'hello, world!'

H: Палиндром

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

Решение оформите в виде функции is_palindrome(s: str) -> bool, возвращающей значение типа bool.

На проверку сдайте только тело функции (можете использовать и вспомогательные функции при необходимости).

Примеры

Вызов функции Возвращаемое значение
is_palindrome('Radar')
True
is_palindrome('True')
False

I: Сумма или разность нескольких однозначных чисел

Дана непустая строка, состоящая из \(n\) цифр (т.е. однозначных чисел), между которыми стоят \(n-1\) знаков операций, каждый из которых может быть либо «+», либо «-». Вычислите значение данного выражения.

Решение оформите в виде функции evaluate(s: str) -> int, получающей в качестве аргумента строку и возвращающую ее значение.

На проверку сдайте только тело функции. Решение должно иметь сложность \(O(n)\), где \(n\) — длина строки.

Пример

Вызов функции Возвращаемое значение
evaluate('1+2-3')
0

J: Сумма, разность, произведение

Дано выражение одно из следующих видов: \(A+B\), \(A-B\) или \(A\ast B\), где \(A\) и \(B\) — целые неотрицательные числа. Определите значение этого выражения.

Решение оформите в виде функции evaluate(s: str) -> int, получающей в качестве аргумента строку и возвращающую ее значение.

На проверку сдайте только тело функции.

Примеры

Вызов функции Возвращаемое значение
evaluate('2*2')
4
evaluate('100-101')
-1

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

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

Решение оформите в виде функции count_words(s: str) -> int, возвращающее значение типа int.

На проверку сдайте только тело функции.

Пример

Вызов функции Возвращаемое значение
count_words('Yesterday, all my troubles seemed so far away')
8

L: Слова с прописной буквы

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

Решение оформите в виде функции capitalize(s: str) -> str.

На проверку сдайте только тело функции.

Пример

Вызов функции Возвращаемое значение
capitalize('In a hole in the ground there lived a hobbit.')
'In A Hole In The Ground There Lived A Hobbit.'

M: Максимальная буква

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

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

s.isalpha() — возвращает True или False, в зависимости от того, является ли символ буквой (все символы строки, если их несколько).

s.upper() — возвращает значение строки, переведённой в верхний регистр.

s.lower() — возвращает значение строки, переведённой в нижний регистр.

Решение оформите в виде функции max_char(s: str) -> str. Функция должна возвращать максимальную букву в верхнем регистре.

Если в данной строке нет символов, являющихся буквами, функция возвращает пустую строку.

На проверку сдайте только тело функции.

Пример

Вызов функции Возвращаемое значение
max_char('Встретив двусмысленность, отбрось искушение угадать.')
'Ь'