Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Deklarowanie zmiennych i uzyskiwanie danych wejściowych
- Krok 2: Tworzenie nowego alfabetu
- Krok 3: Przenoszenie wiadomości
- Krok 4: Dodatkowe
Wideo: Program szyfrujący Cezara w Pythonie: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
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
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
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
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
W załączniku znajduje się plik z kodem.
Zalecana:
Skaner kodów QR przy użyciu OpenCV w Pythonie: 7 kroków
Skaner kodów QR przy użyciu OpenCV w Pythonie: W dzisiejszym świecie widzimy, że kod QR i kod kreskowy są używane prawie wszędzie, od pakowania produktów po płatności online, a obecnie widzimy kody QR nawet w restauracji, aby zobaczyć menu. Więc nie wątpię, że teraz jest to wielka myśl. Ale czy kiedykolwiek
Program w Pythonie - naliczanie odsetek Z miesięcznymi składkami/depozytami: 5 kroków
Python Program - Składane odsetki Z miesięcznymi składkami/depozytami: Program do obliczania odsetek składanych z miesięcznymi składkami na koniec miesiąca.Formuła zaczerpnięta z TheCalculatorSite.com:Oprocentowanie złożone dla kapitału: P(1+r/n)^(nt) Przyszła wartość szeregu: PMT × (((1 + r/n)^nt - 1) / (r/n))
Drukowanie kolorowego tekstu w Pythonie bez żadnego modułu: 3 kroki
Drukowanie kolorowego tekstu w Pythonie bez żadnego modułu: Po tym, jak mój drugi Instructable został przypadkowo usunięty, postanowiłem stworzyć nowy. W tym pokażę, jak wydrukować kolorowy tekst w Pythonie
Rozpoznawanie cyfr w Pythonie: 3 kroki
Rozpoznawanie cyfr z Pythonem: Motyw zawiera popularne aktualne informacje i nazwy „Computer Vision”, które składają się z dużego obszaru oprogramowania, które umożliwia rozpoznawanie obrazów. Es posible imaginarse que esta habilidad es muy útil para una computadora y allowe expandir
Jak zrobić program integracji numerycznej w Pythonie: 10 kroków
Jak zrobić program integracji numerycznej w Pythonie: To jest samouczek dotyczący tworzenia i uruchamiania programu, który będzie obliczał całki oznaczone za pomocą algorytmu integracji numerycznej. Podzieliłem kroki na 3 sekcje: zrozumienie algorytmu, który zostanie użyty do stworzenia programu, kodowanie t