Программа шифрования Цезаря не так проста, как я думалPython

Программы на Python
Anonymous
Программа шифрования Цезаря не так проста, как я думал

Сообщение Anonymous »


Привет всем, надеюсь, у вас все хорошо. Я некоторое время работал над этим кодом и, похоже, не понял его правильно. так что по сути это групповой проект, которому никто не помогает. и заранее извините за код и мой плохой английский, я новичок и стараюсь изо всех сил.

Вопрос:

Вопрос 2. Расшифруйте мой текст [4 балла] Создайте код Python, который будет читать зашифрованный текстовый файл (code.txt), расшифровывать его с помощью шифра Цезаря (расстояние неизвестно, попробуйте значения от 1 до 20) и записывать декодированный текст в новый текстовый файл («decoded.txt »). файл кода предоставлен в Moodle.

код, над которым я работал почти сутки:

#!/usr/bin/env python3 # -*- кодировка: utf-8 -*- """ Создано сб 2 дек 03:00:44 2023 @author: Мохаммедасмар """ #задача 2 """ Вопрос 2: Расшифруйте мой текст [4 балла] Создайте код Python, который будет читать зашифрованный текстовый файл (code.txt), расшифруйте его с помощью шифра Цезаря (расстояние неизвестно, попробуйте значения от 1 до 20) и запишите декодированный текст в новый текстовый файл («decoded.txt»). файл кода предоставлен в Moodle. """ №26 аплайбитов как в столице, так и в малом ##Функция ord возвращает порядковый номер в последовательности ASCII ##Chr — обратная функция --(из слайдов) ## защита расшифровать (текст, сдвиг): decrypited_text = "" для символа в тексте: если char.isalpha(): сдвинут = ord(char) - сдвиг если char.islower(): сдвинуто = (сдвинуто - ord('a')) % 26 + ord('a') Элиф char.isupper(): сдвинуто = (сдвинуто - ord('A')) % 26 + ord('A') decrypited_text += chr(сдвинуто) еще: decrypited_text += символ вернуть расшифрованный_текст #Открываем файл файл = open('/Users/mohammedasmar/Downloads/code.txt', 'r') # Прочитать весь контент содержимое = файл.readlines() # Закрываем файл файл.закрыть() outfile = open('/Users/mohammedasmar/Downloads/decoded.txt','w') для текста в содержании: для сдвига в диапазоне (1, 21): decrypited_text = расшифровать (текст, сдвиг) outfile.write("значение сдвига:" + str(shift)+"\n") outfile.write(расшифрованный_текст+"\n") выходной файл.закрыть() Содержимое файла code.txt:

Yx*k*nk|u*no}o|~*rsqrkMyyv*sxn*sx*w*rks|ak|w*}wovv*yp*myvs~k}\s}sxq*z* ~r|yqr*~ro*ks|_z*krokn*sx*~ro*ns}~kxmoS*}k*k*}rswwo|sxq*vsqr~W*rokn*q|o*rok*kxn*w* }sqr~*q|o*nswS*rkn*~y*}~yz*py|*~ro*xsqr~ выход показан на картинке выходной файл (decoded.txt)

Я не знаю, что не так в коде. Надеюсь, вы сможете помочь. спасибо

Вернуться в «Python»