Найти - Пользователи
Полная версия: Помогите с шифром Цезаря! Задание по информатике!
Начало » Python для новичков » Помогите с шифром Цезаря! Задание по информатике!
1
python335
Мне задали зашифровать текст: “В лесу стояла елочка” шифром Цезаря.
Кто не знает что это такое - погуглите.
Я прошу помочь с кодом.

 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)

Очень много ошибок наверное((
Прошу помочь!@
Спасибо!
marvellik
организуй циклический сдвиг
FishHook
http://python.su/forum/topic/27037/
marvellik
 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))

результат
Сдвиг вправо на: 5
З ркцш цчудре круьпе
Rodegast
http://python.su/forum/topic/30985/?page=1#post-168456
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB