Съдържание:

Програма Caesar Cipher в Python: 4 стъпки
Програма Caesar Cipher в Python: 4 стъпки

Видео: Програма Caesar Cipher в Python: 4 стъпки

Видео: Програма Caesar Cipher в Python: 4 стъпки
Видео: Python Project for beginners #4| Caesar Cipher - Complete Code | Python for Beginners #lec66 2024, Ноември
Anonim
Програма Caesar Cipher в Python
Програма Caesar Cipher в Python

Шифърът на Цезар е древен и широко използван шифър, който е лесен за криптиране и декриптиране. Той работи, като измества буквите на азбуката, за да създаде изцяло нова азбука (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: Допълнителна

Допълнителен
Допълнителен
Допълнителен
Допълнителен

Прикачен е кодовият файл.

Препоръчано: