
Силантьевич
7 год назад
Шифр Цезаря. Этот шифр реализует следующее преобразование текста: каждая буква исходного текста заменяется следующей после нее буквой в алфавите, который считается написанным по кругу.
Используя шифр Цезаря, зашифровать следующие фразы:
а) Делу время - потехе час
б) С Новым годом
в) Первое сентября
ОТВЕТЫ

Исаакович
Jul 3, 2019
Введите смещение: 1
Делу время - потехе час | Еёмф гсёна - рпуёцё шбт
С Новым годом | Т Опгьн дпепн
Первое сентября | Рёсгпё тёоуавса
Исходный код на Python3:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
TL2I = dict(zip("АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ",range(34)))
I2TL = dict(zip(range(34),"АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"))
SL2I = dict(zip("абвгдеёжзийклмнопрстуфхцчшщъыьэюя",range(34)))
I2SL = dict(zip(range(34),"абвгдеёжзийклмнопрстуфхцчшщъыьэюя"))
phrases = (Делу время - потехе час, С Новым годом, Первое сентября)
key = int(input("Введите смещение: "))
for phrase in phrases:
ciphered =
for c in phrase:
if not c.isalpha():
ciphered += c
if c.islower():
ciphered += I2SL[ (SL2I[c] + key) 33 ]
if c.isupper():
ciphered += I2TL[ (TL2I[c] + key) 33 ]
print("{} | {}".format(phrase, ciphered))
Делу время - потехе час | Еёмф гсёна - рпуёцё шбт
С Новым годом | Т Опгьн дпепн
Первое сентября | Рёсгпё тёоуавса
Исходный код на Python3:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
TL2I = dict(zip("АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ",range(34)))
I2TL = dict(zip(range(34),"АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"))
SL2I = dict(zip("абвгдеёжзийклмнопрстуфхцчшщъыьэюя",range(34)))
I2SL = dict(zip(range(34),"абвгдеёжзийклмнопрстуфхцчшщъыьэюя"))
phrases = (Делу время - потехе час, С Новым годом, Первое сентября)
key = int(input("Введите смещение: "))
for phrase in phrases:
ciphered =
for c in phrase:
if not c.isalpha():
ciphered += c
if c.islower():
ciphered += I2SL[ (SL2I[c] + key) 33 ]
if c.isupper():
ciphered += I2TL[ (TL2I[c] + key) 33 ]
print("{} | {}".format(phrase, ciphered))
53
Смежные вопросы: