Spisu treści:

Program szyfrujący Cezara w Pythonie: 4 kroki
Program szyfrujący Cezara w Pythonie: 4 kroki

Wideo: Program szyfrujący Cezara w Pythonie: 4 kroki

Wideo: Program szyfrujący Cezara w Pythonie: 4 kroki
Wideo: #2 Zadania PYTHON podstawa - szyfr Cezara 2024, Listopad
Anonim
Program szyfrujący Cezara w Pythonie
Program szyfrujący Cezara w Pythonie

Szyfr Cezara to starożytny i szeroko stosowany szyfr, który można łatwo zaszyfrować i odszyfrować. Działa poprzez przesunięcie liter alfabetu, aby stworzyć całkowicie nowy alfabet (ABCDEF może przesunąć się o 4 litery i stać się EFGHIJ).

Szyfry Cezara nie są najbezpieczniejszymi szyframi, ale nadają się do małych zadań, takich jak przekazywanie tajnych notatek lub wzmacnianie haseł. Kod jest naprawdę łatwy do odszyfrowania, ale jego szyfrowanie może być żmudne, jeśli nie masz zapamiętanego specjalnego alfabetu.

Aby ułatwić ten proces, możemy wykorzystać moc komputerów, a dokładniej języka programowania Python.

Ten Instruktaż pokaże Ci, jak stworzyć program, który konwertuje wiadomości na szyfr na twoje polecenie.

Kieszonkowe dzieci

Wszystko czego potrzebujesz to interpreter Pythona: IDLE, Pycharm i Thonny to kilka dobrych, darmowych opcji (ja używałem Pycharm)

Podstawowa znajomość Pythona

Krok 1: Deklarowanie zmiennych i uzyskiwanie danych wejściowych

Deklarowanie zmiennych i pobieranie danych wejściowych
Deklarowanie zmiennych i pobieranie danych wejściowych

Aby faktycznie przechowywać wartości ciągu (tekstu) alfabetu, wiadomości, przesunięcia itp., musimy użyć zmiennych. Zaczynamy od zadeklarowania zmiennych „alfabet”, „partialOne”, „partialTwo” i „newAlphabet”. Napisałem nazwy zmiennych w Camel Case w moim kodzie (pierwsze słowo to małe, a drugie wielkie), ale możesz je zapisać w dowolny sposób, o ile pamiętasz o zmianie w pozostałej części kodu. Zmienna alfabetu ma wartość „abcdefghijklmnopqrstuvwxyz”. Wszystkie inne zmienne są ustawione na „”, co jest pustym ciągiem, ponieważ nie mamy jeszcze ich wartości.

To, co robi, to ustanawianie systemu Częściowego, którego używamy do faktycznego stworzenia zmiany. Zostanie to wyjaśnione w późniejszym kroku.

Następnie musimy pobrać wiadomość i przesunąć wartość od użytkownika. W tym celu używamy funkcji input. Ta część kodu prosi użytkownika o wiadomość i numer, o który ma przesunąć alfabet.

KOD:

alfabet = „abcdefghijklmnopqrstuvwxyz”

częściowyJeden=""

częściowyTwo=""

nowyAlfabet=""

message = input("Wprowadź wiadomość, którą chcesz przetłumaczyć: ").lower()

key = int(input("Wprowadź liczbę, o którą chcesz przesunąć: "))

Krok 2: Tworzenie nowego alfabetu

Tworzenie nowego alfabetu
Tworzenie nowego alfabetu

Teraz stwórzmy przesunięty alfabet. W tym celu użyjemy systemu częściowego. System częściowy polega na tym, że komputer dzieli alfabet na dwie części (wymyślny sposób na wymawianie części). Pierwsza część jest jakkolwiek długa, o którą kazałeś programowi się przesunąć, a druga to pozostała część. Komputer przełącza części. To jest dokładnie to, co robi kod, wraz z pierwszą instrukcją, która mówi, że jeśli przesunięcie wynosi 0, nowy alfabet i stary alfabet są takie same, ponieważ niczego nie przełączasz.

Na przykład:

Sekwencja - 123456789

Częściowa pierwsza - 123; Częściowa druga – 456789

Nowa sekwencja - 456789123

KOD:

jeśli klucz == 0:

nowyAlfabet = alfabet

klawisz elif > 0:

częściowyJeden = alfabet[:klucz]

częściowaDwa = alfabet[klucz:]

nowyAlfabet = częściowyDwa + częściowyJeden

w przeciwnym razie:

częściowyjeden = alfabet[:(26 + klucz)]

partTwo = alfabet[(26 + klucz):]

nowyAlfabet = częściowyDwa + częściowyJeden

Krok 3: Przenoszenie wiadomości

Przenoszenie wiadomości
Przenoszenie wiadomości

Teraz mamy nasz alfabet i nowy alfabet. Pozostało tylko przełączyć wiadomość na kod.

Najpierw ustawiamy nową zmienną i nazywamy ją „zaszyfrowaną” i ustawiamy na „”. Następnie piszemy naprawdę skomplikowaną pętlę for, która sprawdza każdą literę w wiadomości i przełącza ją na nową literę. Wyświetla wynik i masz go, pomyślnie przekonwertowany kod!

KOD:

szyfrowany=""for message_index w zakresie(0, len(message)):

if message[message_index] == " ":

zaszyfrowane+= ""

dla alphabet_index w zakresie(0, len(newAlphabet)):

if message[message_index] == alfabet[alphabet_index]:

zaszyfrowany+= nowyAlfabet[indeks_alfabetu]

drukuj (zaszyfrowane)

Krok 4: Dodatkowe

Dodatkowy
Dodatkowy
Dodatkowy
Dodatkowy

W załączniku znajduje się plik z kodem.

Zalecana: