#программа дешифровки(взлома) шифра Цезаря на английском и русском языках# #выводит сдвиг с помощью которого был зашифрован текст------------# #----------------------cyberbugz.ru-------------------------------# #-----------------------------------------------------------------# #объявление переменнх # dictionary = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцшщъыьэюя0123456789!?., " #алфавит l_d = len(dictionary) #длина алфавита # #ТЕЛО ПРОГРАММЫ-------------------------------------------------------------- #print(l_d) yes_no = 2 s_input = input("Введите сообщение: ") #сообщение для шифра n_end = 100 #конечный сдвиг n_page = 10 #вывод на страницу #================================================================================ for i in range(n_end): shift = -(i + 1) s_output = "" #---------------------------------------------------------------------- for i in s_input: #цикл по строке(которую ввели с экрана) i_input = dictionary.find(i) #находим позицию символа в строке i_cipher = i_input + shift #позицию сдвигаем if i in dictionary: #есть ли символ в строке, если есть, то потом добавим его в выходную строку if i_cipher >= l_d: i_cipher = i_cipher - l_d #позицию нового символа сдвигаем на начало s_output = s_output + dictionary[i_cipher] #добавляем символ в выходную строку #---------------------------------------------------------------------- print("Сдвиг:", - shift," ", s_output) if -shift%n_page==0: #деление по модулю 2 - определяем остаток(100/10 - 0) n_break=input("Продолжить - 1 или закончить - 2?") if n_break == "2": break #================================================================== print("Пока!")