Строковый тип данных. Строки в памяти компьютера, таблица символов «Unicode»

 Представление строк в памяти компьютера, «ASCII» и «Unicode»

 Соотнесите символы с их кодами в таблице Unicode (ASCII):

  • a  97;
  • A  65;
  • z  122;
  • Z  90;
  • 6  54;
  • 7  55

 Что покажет приведенный ниже код?:

print(chr(ord('🐍')))
print(ord(chr(128013)))

 Ответ:  🐍 ;  128013

 Что покажет приведённый ниже код?:

print(ord('foo'))

 Ответ: Произойдет ошибка TypeError

 На вход программе подается некоторая буква русского алфавита в верхнем регистре. Найдите следующую за ней букву и выведите ее на экран. Если введенная буква является последней в алфавите, то выведите текст «Дальше букв нет» (без кавычек).

a = input()

if a != 'Я':
    next_a = chr(ord(a) + 1)
    print(next_a)
else:
    print('Дальше букв нет')

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

a = int(input())
b = int(input())

for i in range(a, b + 1):
    print(chr(i), end=' ')

 На вход программе подается строка текста. Напишите программу, которая переводит каждый ее символ в соответствующий ему код из таблицы символов Unicode.

t = input()

for s in t:
    print(ord(s), end=' ')

 Под "тяжестью" слова будем понимать сумму кодов по таблице Unicode всех символов этого слова. Напишите программу, которая принимает 4 слова и находит среди них самое тяжелое слово. Если самых тяжелых слов будет несколько, то программа должна вывести первое из них.

sl = ''
mx = 0
for i in range(1, 5): a = input() summ = 0 for j in a: summ += ord(j) else: if summ > mx: mx = summ sl = a
print(sl)

 Модератору Сэму за каждый символ его сообщений в комментариях  платят в 🐝 (пчелках-coin) по следующему тарифу: <код символа в таблице Unicode>×3🐝. А стоимость всего сообщения складывается из суммы стоимостей всех символов. Сэму захотелось подсчитать, сколько 🐝 он зарабатывает за свои ответы в комментариях, и просит вас помочь ему. На вход программе подается строка текста. Требуется написать программу, которая находит стоимость сообщения Сэма в 🐝.

s = input()

coin = 0

for a in s:
    coin += ord(a)*3

print(f"Текст сообщения: '{s}'")
print(f"Стоимость сообщения: {coin}🐝")

 Легион Цезаря, созданный в 23 веке на основе Римской Империи не изменяет древним традициям и использует шифр Цезаря. Это их и подвело, ведь данный шифр очень простой. Однако в постапокалипсисе люди плохо знают все тонкости довоенного мира, поэтому ученые из НКР не могут понять, как именно нужно декодировать данные сообщения. Напишите программу для декодирования этого шифра.

a = int(input())
t = input()

for s in t:
    n = ord(s) - a
    if n < ord('a'):
        n = ord('z') - (ord('a') - 1 - n)
    print(chr(n), end='')  

 После недавнего сбоя в операционной системе от компании «Oursoft» у Гвидо сбилась кодировка на компьютере. Теперь все буквы русского алфавита отображаются в некорректном виде: [u-<номер символа в таблице Unicode>]. Гвидо еще не научился читать символы в таком формате, поэтому просит вас написать программу, которая будет "расшифровывать" для него все тексты на компьютере.
 На вход программе подается строка текста. Расшифруйте текст, заменив все конструкции [u-<номер символа в таблице Unicode>] на соответствующие буквы русского алфавита, и выведите его.

s = input()

for _ in range(s.count("[")):
    a = s.find("[")
    b = s.find("]")
    code = s[a:b + 1]
    re = chr(int(s[a + 3:b]))
    s = s.replace(code, re, 1)

print(s)