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))
и действуем по указанному правилу:
берём букву из слова и по алфавиту смотрим, какая буква идёт третьей после нашей буквы
если упёрлись в конец алфавита- продолжаем счёт с начала алфавита (движемся по кругу)
чтобы это было удобнее, я запишу алфавит сразу с добавленными буквами в его конце:
такое действие выполняем для каждой буквы в слове
Итак, шифруем слова:
ИНФОРМАЦИЯ => ЛРЧСУПГЩЛВ
КОМПЬЮТЕР => НСПТБХЗУ
ЧЕЛОВЕК => ЪЗОСЕЗН
А вообще, для человека такое преобразование не очень удобно делать, поэтому для большего объёма текста проще было бы составить программу, или таблицу в Экселе, которая бы выполняла нужные действия с текстом.