Satura rādītājs:
- Piegādes
- 1. darbība. Mainīgo deklarēšana un ievades iegūšana
- 2. darbība: izveidojiet jaunu alfabētu
- 3. solis: ziņojuma maiņa
- 4. solis: papildu
Video: Cēzara šifra programma programmā Python: 4 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:51
Cēzara šifrs ir sens un plaši izmantots šifrs, kuru ir viegli šifrēt un atšifrēt. Tas darbojas, pārceļot alfabēta burtus, lai izveidotu pilnīgi jaunu alfabētu (ABCDEF varētu pārvietot vairāk par 4 burtiem un kļūt par EFGHIJ).
Cēzara šifri nav visdrošākie šifri, taču tie ir piemēroti maziem uzdevumiem, piemēram, slepenu piezīmju nodošanai vai paroļu stiprināšanai. Koda atšifrēšana ir patiešām vienkārša, taču šifrēšana var būt apnicīga, ja nav iegaumēts īpašais alfabēts.
Lai atvieglotu šo procesu, mēs varam izmantot datoru jaudu, precīzāk programmēšanas valodu Python.
Šī pamācība parādīs, kā izveidot programmu, kas pēc jūsu komandas pārvērš ziņojumus šifrā.
Piegādes
Viss, kas jums nepieciešams, ir Python tulks: IDLE, Pycharm un Thonny ir dažas labas bezmaksas iespējas (es izmantoju Pycharm)
Pamatzināšanas par Python
1. darbība. Mainīgo deklarēšana un ievades iegūšana
Lai faktiski saglabātu alfabēta, ziņojuma, maiņas uc virkņu (teksta) vērtības, mums jāizmanto mainīgie. Mēs sākam, deklarējot mainīgos “alfabēts”, “daļējs viens”, “daļējs divi” un “jauns alfabēts”. Es savā kodā esmu ierakstījis Camel Case mainīgo nosaukumus (pirmais vārds ir mazie un otrie lielie), bet jūs varat to rakstīt, kā vēlaties, ja vien atceraties to mainīt arī pārējā koda daļā. Alfabēta mainīgajam ir vērtība "abcdefghijklmnopqrstuvwxyz". Visi pārējie mainīgie ir iestatīti uz "", kas ir tukša virkne, jo mums vēl nav to vērtību.
Tas tiek darīts, izveidojot daļēju sistēmu, ko mēs izmantojam, lai faktiski izveidotu maiņu. Tas tiks izskaidrots vēlāk.
Pēc tam mums ir jāsaņem ziņojums un jāmaina vērtība no lietotāja. Lai to izdarītu, mēs izmantojam ievades funkciju. Šajā koda daļā lietotājam tiek prasīts ziņojums un cipars, lai mainītu alfabētu.
KODS:
alfabēts = "abcdefghijklmnopqrstuvwxyz"
partialOne = ""
partTwo = ""
newAlphabet = ""
Ziņojums = ievade ("Lūdzu, ievadiet ziņojumu, kuru vēlaties tulkot:"). zemāks ()
atslēga = int (ievade ("Lūdzu, ievadiet numuru, par kuru vēlaties pārvietot:"))
2. darbība: izveidojiet jaunu alfabētu
Tagad, lai izveidotu pārvietoto alfabētu. Lai to izdarītu, mēs izmantosim daļēju sistēmu. Daļējā sistēma ir vieta, kur dators sadala alfabētu divās daļās (iedomāts veids, kā pateikt daļas). Tomēr pirmā daļa ir tik ilga, ka jūs teicāt programmai pāriet, un otrā daļa ir atlikusī daļa. Dators pārslēdz detaļas. Tas ir tieši tas, ko dara kods kopā ar pirmo paziņojumu, kurā teikts, ka, ja nobīde ir 0, jaunais un vecais alfabēts ir vienādi, jo jūs neko nepārslēdzat.
Piemēram:
Secība - 123456789
Pirmā daļa - 123; Otrā daļa - 456789
Jauna secība - 456789123
KODS:
ja atslēga == 0:
newAlphabet = alfabēts
elif atslēga> 0:
partialOne = alfabēts [: taustiņš]
partTwo = alfabēts [atslēga:]
newAlphabet = daļējsDivi + daļējiViens
cits:
partialOne = alfabēts [:(26 + taustiņš]
partTwo = alfabēts [(26 + taustiņš):]
newAlphabet = daļējsDivi + daļējiViens
3. solis: ziņojuma maiņa
Tagad mums ir mūsu alfabēts un jaunais alfabēts. Atliek tikai ziņu pārvērst kodā.
Pirmkārt, mēs iestatām jaunu mainīgo un nosaucam to par “šifrētu” un iestatām uz “”. Tad mēs uzrakstām patiešām sarežģītu for-loop, kas pārbauda katru vēstuli un pārslēdz to uz jauno burtu. Tas izvada rezultātu, un jums tas ir, veiksmīgi pārveidots kods!
KODS:
encrypted = "" ziņojuma_indeksam diapazonā (0, len (ziņojums)):
ja ziņojums [message_index] == "":
šifrēts+= ""
alfabēta_indeksam diapazonā (0, len (newAlphabet)):
ja ziņojums [ziņojuma_indekss] == alfabēts [alfabēta_indekss]:
šifrēts+= jaunsAlfabēts [alfabēta_indekss]
drukāt (šifrēts)
4. solis: papildu
Pievienots koda fails.
Ieteicams:
Ievads programmā Python - Katsuhiko Matsuda & Edwin Cijo - Pamati: 7 soļi
Ievads Python - Katsuhiko Matsuda & Edwin Cijo - Pamati: Sveiki, mēs esam 2 MYP 2 studenti. Mēs vēlamies jums iemācīt Python kodēšanas pamatus. To izveidoja 80. gadu beigās Gvido van Rosums Nīderlandē. Tas tika izveidots kā ABC valodas pēctecis. Tās nosaukums ir " Python " jo kad
QR koda skeneris, izmantojot OpenCV programmā Python: 7 soļi
QR koda skeneris, izmantojot OpenCV programmā Python: Mūsdienu pasaulē mēs redzam, ka QR kods un svītrkods tiek izmantoti gandrīz visur, sākot no produkta iepakojuma līdz tiešsaistes maksājumiem, un mūsdienās mēs redzam QR kodus pat restorānā, lai redzētu izvēlni. šaubos, ka tagad tā ir lielā doma. Bet vai jūs kādreiz esat nožēlojis
Python programma - Procentu salikšana ar ikmēneša iemaksām/depozītu: 5 soļi
Python programma - Procentu salikšana ar ikmēneša iemaksām/depozītu: programma salikto procentu aprēķināšanai ar ikmēneša iemaksu mēneša beigās. Formula ņemta no TheCalculatorSite.com: Saliktie procenti pamatsummai: P (1+r/n)^(nt) Sērijas nākotnes vērtība: PMT × ((((1 + r/n)^nt - 1)/(r/n))
Programma Python Para El Area De Un Diagrama PV: 4 soļi
Programma Python Para El Area De Un Diagrama PV: Ievads un n o programmaSe sabe que el á rea bajo la curva de un diagrama PV determina el trabajo hecho por por un gas ideal. En este programma se determinara el trabajo hecho por un gas que cumple con los datos tomados en la tabla de un
Izveidojiet patiešām foršu matricu programmā Python !: 6 soļi
Izveidojiet patiešām foršu matricu Python !: Sveiki puiši! Šī pamācība iemācīs jums izveidot matricu programmā Python! Parasti cilvēki Batch veidotu matricu, jo tas ir vienkārši. Bet šoreiz es jums parādīšu, kā izveidot matricu vienā no spēcīgajām datoru valodām