Выведите все символы ASCII с кодами от 33 до 126 и их коды в следующем виде.
! 33 " 34 # 35 ... } 125 ~ 126
Напишите программу, которые выводит исторические кириллические символы, начиная с омеги и заканчивая коппой.
Программа должна вывести заглавные буквы, их коды — чётные числа от 1120 до 1152, разделяя символы пробелом.
Ѡ Ѣ Ѥ ... Ҁ
Дан один символ. Выведите следующий за ним символ в таблице ASCII.
| Ввод | Вывод |
|---|---|
A |
B |
z |
{ |
Выведите подряд, без пробелов, все символы, лежащие в таблице ASCII между двумя заданными символами.
Программа получает на вход два символа, каждый в отдельной строке и должна вывести строку, начинающуюся первым из заданных символов и заканчивающуюся вторым.
| Ввод | Вывод |
|---|---|
A D |
ABCD |
0 9 |
0123456789 |
Для данного символа проверьте, является ли он цифрой.
Решение оформите в виде функции isdigit(c: str) -> bool.
На проверку сдайте только тело функции.
В решении нельзя использовать циклы условную инструкцию.
В решении нельзя использовать константы с неочевидным значением типа 48 или 57.
Да и функция ord тоже не нужна.
| Вызов функции | Возвращаемое значение |
|---|---|
isdigit('0') |
True |
isdigit('A') |
False |
Напишите функцию upper(c: str) -> str,
которая переводит символ в верхний регистр, то есть для строчной
буквы латинского алфавита возвращает сооветствующую заглавную букву латинского алфавита,
а для остальных символов возвращает тот же символ.
На проверку сдайте только тело функции.
| Вызов функции | Возвращаемое значение |
|---|---|
upper('f') |
'F' |
upper('F') |
'F' |
upper('4') |
'4' |
Напишите функцию lower(s: str) -> str, которая переводит все символы данной строки в нижний регистр.
На проверку сдайте только тело функции (можете использовать и вспомогательные функции при необходимости).
| Вызов функции | Возвращаемое значение |
|---|---|
lower('Hello, world!') |
'hello, world!' |
Дано слово, состоящее только из заглавных и строчных латинских букв. Проверьте, верно ли что это слово читается одинаково как справа налево, так и слева направо (то есть является палиндромом), если считать заглавные и строчные буквы не различающимися.
Решение оформите в виде функции is_palindrome(s: str) -> bool, возвращающей
значение типа bool.
На проверку сдайте только тело функции (можете использовать и вспомогательные функции при необходимости).
| Вызов функции | Возвращаемое значение |
|---|---|
is_palindrome('Radar') |
True |
is_palindrome('True') |
False |
Дана непустая строка, состоящая из \(n\) цифр (т.е. однозначных чисел), между которыми стоят \(n-1\) знаков операций, каждый из которых может быть либо «+», либо «-». Вычислите значение данного выражения.
Решение оформите в виде функции evaluate(s: str) -> int,
получающей в качестве аргумента строку и возвращающую ее значение.
На проверку сдайте только тело функции. Решение должно иметь сложность \(O(n)\), где \(n\) — длина строки.
| Вызов функции | Возвращаемое значение |
|---|---|
evaluate('1+2-3') |
0 |
Дано выражение одно из следующих видов: \(A+B\), \(A-B\) или \(A\ast B\), где \(A\) и \(B\) — целые неотрицательные числа. Определите значение этого выражения.
Решение оформите в виде функции evaluate(s: str) -> int,
получающей в качестве аргумента строку и возвращающую ее значение.
На проверку сдайте только тело функции.
| Вызов функции | Возвращаемое значение |
|---|---|
evaluate('2*2') |
4 |
evaluate('100-101') |
-1 |
Дана строка, возможно, содержащая пробелы. Определите количество слов в этой строке. Слово — это несколько подряд идущих букв латинского алфавита (как заглавных, так и строчных).
Решение оформите в виде функции count_words(s: str) -> int,
возвращающее значение типа int.
На проверку сдайте только тело функции.
| Вызов функции | Возвращаемое значение |
|---|---|
count_words('Yesterday, all my troubles seemed so far away') |
8 |
Дана строка. Измените регистр символов в этой строке так, чтобы первая буква каждого слова была заглавной, а остальные буквы — строчными.
Решение оформите в виде функции 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.' |
Дана строка. Определите максимальную букву, которая встречается в этой строке, при этом заглавные и строчные буквы нужно считать одинаковыми. Под буквой подразумеваются как русские, так и английские буквы, строка может содержать русские и английские буквы.
При решении задачи вам понадобятся методы строк, которые корректно работают как с английскими, так и с русскими буквами.
s.isalpha() — возвращает True или False, в зависимости от того, является ли символ буквой
(все символы строки, если их несколько).
s.upper() — возвращает значение строки, переведённой в верхний регистр.
s.lower() — возвращает значение строки, переведённой в нижний регистр.
Решение оформите в виде функции max_char(s: str) -> str.
Функция должна возвращать максимальную букву в верхнем регистре.
Если в данной строке нет символов, являющихся буквами, функция возвращает пустую строку.
На проверку сдайте только тело функции.
| Вызов функции | Возвращаемое значение |
|---|---|
max_char('Встретив двусмысленность, отбрось искушение угадать.') |
'Ь' |