Съдържание:
- Консумативи
- Стъпка 1: Деклариране на променливи и получаване на входни данни
- Стъпка 2: Създаване на нова азбука
- Стъпка 3: Преместване на съобщението
- Стъпка 4: Допълнителна
Видео: Програма Caesar Cipher в Python: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:49
Шифърът на Цезар е древен и широко използван шифър, който е лесен за криптиране и декриптиране. Той работи, като измества буквите на азбуката, за да създаде изцяло нова азбука (ABCDEF може да измести над 4 букви и ще стане EFGHIJ).
Caesar Ciphers не са най -сигурните шифри, но са добри за малки задачи, като например предаване на секретни бележки или укрепване на паролите. Дешифрирането на кода е наистина лесно, но може да бъде досадно да го шифровате, ако нямате запомнена специалната азбука.
За да улесним този процес, можем да използваме силата на компютрите, по -конкретно езика за програмиране Python.
Този Instructable ще ви покаже как да създадете програма, която преобразува съобщенията в шифър по ваша команда.
Консумативи
Всичко, от което се нуждаете, е интерпретатор на Python: IDLE, Pycharm и Thonny са някои добри, безплатни опции (използвах Pycharm)
Основни познания за Python
Стъпка 1: Деклариране на променливи и получаване на входни данни
За да съхраним действително низовите (текстови) стойности на азбуката, съобщението, смяната и т.н., трябва да използваме променливи. Започваме с деклариране на променливите „азбука“, „частично едно“, „частично две“и „нова алфавита“. Написал съм имената на променливите в Camel Case в моя код (първата дума е малка и втора главна буква), но можете да я напишете както искате, стига да не забравяте да я промените и в останалата част от кода. Променливата на азбуката има стойността "abcdefghijklmnopqrstuvwxyz". Всички останали променливи са настроени на "", което е празен низ, тъй като все още нямаме техните стойности.
Това, което правим, е да настроим частичната система, която използваме, за да създадем промяната. Това ще бъде обяснено в по -късна стъпка.
След това трябва да получим съобщението и да променим стойността от потребителя. Използваме функцията за въвеждане, за да направим това. Тази част от кода изисква от потребителя съобщение и номер, с който да измести азбуката.
КОД:
азбука = "abcdefghijklmnopqrstuvwxyz"
частично едно = ""
частичноTwo = ""
newAlphabet = ""
message = input ("Моля, въведете съобщението, което искате да преведете:").lower ()
key = int (вход ("Моля, въведете номера, който искате да изместите с:"))
Стъпка 2: Създаване на нова азбука
Сега за създаване на изместената азбука. За да направим това, ще използваме частичната система. Частичната система е мястото, където компютърът разделя азбуката на две части (фантастичен начин да се кажат части). Първото частично обаче е дълго, което сте казали на програмата да се измести, а второто е останалото. Компютърът превключва частиците. Точно това прави кодът, заедно с първото изявление, което казва, че ако смяната е 0, новата азбука и старата азбука са еднакви, тъй като не превключвате нищо.
Например:
Последователност - 123456789
Частична първа - 123; Частично второ - 456789
Нова поредица - 456789123
КОД:
ако ключ == 0:
newAlphabet = азбука
клавиш elif> 0:
частично едно = азбука [: ключ]
частичноДве = азбука [ключ:]
newAlphabet = частично две + частично едно
иначе:
частично едно = азбука [:(26 + ключ)]
частичноДве = азбука [(26 + клавиш):]
newAlphabet = частично Две + частично Едно
Стъпка 3: Преместване на съобщението
Сега имаме нашата азбука и новата азбука. Остава само да превключите съобщението в кода.
Първо, ние задаваме нова променлива и я наричаме „криптирана“и я настройваме на „“. След това пишем наистина сложен цикъл for, който проверява всяка буква в съобщението и я превключва към новата буква. Той извежда резултата и ето го, успешно преобразуван код!
КОД:
encrypted = "" за message_index в обхват (0, len (съобщение)):
ако съобщение [message_index] == "":
криптиран+= ""
за alphabet_index в диапазон (0, len (newAlphabet)):
ако съобщение [message_index] == азбука [alphabet_index]:
криптиран+= новАзбука [азбучен_индекс]
печат (криптиран)
Стъпка 4: Допълнителна
Прикачен е кодовият файл.
Препоръчано:
Основна програма на C ++: 11 стъпки
Основна програма на C ++: в тази програма ще научите основите на c ++, като кодирате проста c ++ програма, за да създадете множество потребители и да покажете тези потребители, надявам се да ви хареса
Инструкции за флаш програма за аудио филтър: 7 стъпки
Инструкции за флаш програма за аудио филтър: Тази инструкция ще ви преведе през това как да мигате програма на TI-OMAPL138 чрез UART USB връзка. Налична е отделна инструкция, която да ви води през промяна на кода, за да напишете свой собствен аудио филтър в реално време и да създадете необходимото
Програма Python - Съставни лихви с месечни вноски/депозит: 5 стъпки
Програма Python - Съставни лихви с месечни вноски/депозит: Програма за изчисляване на сложна лихва с месечна вноска в края на месеца. Формула взета от TheCalculatorSite.com: Комбинирана лихва за главница: P (1+r/n)^(nt) Бъдеща стойност на серия: PMT × (((1 + r/n)^nt - 1)/(r/n))
Програма Python Para El Area De Un Diagrama PV: 4 стъпки
Програма Python Para El Area De Un Diagrama PV: Въвеждане ó n ал програмиSe sabe que el á rea bajo la curva de un diagrama PV определение el trabajo hecho por un un ideal ideal. En este program se determinara el trabajo hecho por un gas que cumple con los datos tomados en la tabla de un
Как да направите програма за числена интеграция в Python: 10 стъпки
Как да направите програма за числова интеграция в Python: Това е урок за това как да създадете и стартирате програма, която ще оценява определени интеграли, използвайки алгоритъм за числена интеграция. Разделих стъпките в 3 раздела: разбиране на алгоритъма, който ще се използва за направата на програмата, кодиране на