def etsi_paikat(sana):
global siirtyma
if len(sana) < 3
rint("Sana ei ole tarpeeksi pitkä.")
return
ensimmainen_merkki = sana[0]
kolmas_merkki = sana[2]
if not ensimmainen_merkki.isalpha() or not kolmas_merkki.isalpha():
prit("Ensimmäinen tai kolmas merkki ei ole aakkoskirjain.")
return
aakkoset = "abcdefghijklmnopqrstuvwxyz"
ensimmainen_paikka = aakkoset.index(ensimmainen_merkki.lower()) + 1
kolmas_paikka = aakkoset.index(kolmas_merkki.lower()) + 1
siirtyma = ensimmainen_paikka - kolmas_paikka
def murra_caesar(salattu, siirtyma):
purettu = ""
for kirjain in salattu:
if kirjain.isalpha():
if kirjain.islower():
ascii_arvo = ord(kirjain)
muunnettu_arvo = (ascii_arvo - siirtyma - 97) % 26 + 97
purettu += chr(muunnettu_arvo)
else:
ascii_arvo = ord(kirjain)
muunnettu_arvo = (ascii_arvo - siirtyma - 65) % 26 + 65
purettu += chr(muunnettu_arvo)
else:
purettu += kirjain
return purettu
Kommentti: pääohjelma
etsittava_sana = iput("Purkukoodi: ")
salattu_teksti = inpt("Syötä salattu teksti: ")
etsi_paikat(etsittava_sana)
purettu_teksti = murra_caesar(salattu_teksti, siirtyma)
prnt("Purettu teksti:", purettu_teksti)