Форум сайта python.su
-8
Мне задали зашифровать текст: “В лесу стояла елочка” шифром Цезаря.
Кто не знает что это такое - погуглите.
Я прошу помочь с кодом.
abc = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя' sdvig = int(input('Сдвиг вправо на: ')) b = abc[sdvig:] + [:sdvig] text = 'в лесу стояла елочка' result print('Зашифрованный алфавит: ', b) ab = {} ba = {} for n in range(len(abc)): ab = ab[b[abc]] ba = ba[ab[sdvig]] print(ab) print(ba)
Отредактировано python335 (Окт. 21, 2016 16:31:04)
Офлайн
73
организуй циклический сдвиг
Отредактировано marvellik (Окт. 21, 2016 19:50:45)
Офлайн
568
Офлайн
73
def CaesarCipherChar(c, k): c=list(c) # переводим текст в список и с ним работаем alfavit=''.join(chr(x) for x in range(ord('а'),ord('я')+1)) for i in range (len(c)): if c[i].isalpha():# проверяем что символ буква index=(alfavit.find(c[i].lower())+k)%len(alfavit) # циклически сдвигаем буквы c[i]=alfavit[index] if c[i]==c[i].lower() else alfavit[index].upper() # проверяем на регистр return ''.join(c) # преобразуем список в строку и возвращаем в принт sdvig = int(input('Сдвиг вправо на: ')) text = 'В лесу стояла елочка' print(CaesarCipherChar(text,sdvig))
Отредактировано marvellik (Окт. 21, 2016 20:09:33)
Офлайн
186
http://python.su/forum/topic/30985/?page=1#post-168456
Офлайн