Решение модуля 9.6 из курса «Поколение python» для начинающих

Все ответы и решения с исходным кодом и подробным разбором: модуль 9.6 из курса «Поколение Python: курс для начинающих» на zazlo.ru. Ответы на прошлую часть 9.5 и на следующую 10.1.

Что покажет приведенный ниже фрагмент кода?
print(ord(‘foo’))

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

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

Формат входных данных
На вход программе подается два натуральных числа, каждое на отдельное строке.

Формат выходных данных
Программа должна вывести текст в соотвествии с условием задачи.

a = int(input())              # Начало диапазона
b = int(input())              # Конец диапазона

for i in range(a, b + 1):     # Цикл от а до b включительно
    print(chr(i), end = " ")  # Выводим символ из таблицы Unicode через пробел

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

Формат входных данных
На вход программе подается строка текста.

Формат выходных данных
Программа должна вывести кодовые значения символов строки разделенных одним символом пробела.

s = input()                    # Получаем строку

for i in range(len(s)):        # Цикл на количество введенных символов
    print(ord(s[i]), end=' ')  # Переводи каждый введенный символ в код из таблицы Unicode через пробел.

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

Формат входных данных
В первой строке дается число n (1≤ n≤ 25) – сдвиг, во второй строке даётся закодированное сообщение в виде строки со строчными латинскими буквами.

Формат выходных данных
Программа должна вывести одну строку – декодированное сообщение. Обратите внимание, что нужно декодировать сообщение, а не закодировать.

n = int(input())                # Шаг для дешифровки
s = input()                     # Текс для дешифровки
abc = 26                        # Кол-во букв в англиийском алфавите

for i in range(len(s)):         # Делаем цикл в длину текста
    word = ord(s[i]) - n        # Получаем код из таблице Unicode со смешением
    if word < 97:               # Если номер вышел за нижнюю границу строчных латинских букв
        word += abc             # Возвращаем его в границы строчных латинских букв
    print(chr(word), end='')    # Выводим букву, соответствующюю искомому номеру
Понравилась статья? Поделиться с друзьями:
Комментарии: 3
  1. Павел

    f = s[i] — а, эта строчка к чему?
    Можно расписывать действия как в теме «Решение урока 9.1 из курса «Поколение Python» на питоне»(https://zazloo.ru/9-1-pokolenie-python/). Очень помогает понимать, что ты делаешь!

    1. admin

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

      1. Павел

        Спасибо огромное. :idea:

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector