Строковый тип данных. Строки в памяти компьютера, таблица символов «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)