Verschlüsselung

Bei der Caesar-Verschlüsselung werden alle Buchstaben um eine Anzahl Stellen verrückt:

Schreibe eine Funktion casar(klartext, n), die die Cäsar-Verschlüsselung umsetzt.

Ein paar Tipps

Du kannst über die Buchstaben eines Strings laufen wie über die Elemente einer Liste:

s = "Hallo KSR"
for buchstabe in s:
    print(buchstabe)

Einen String in Grossbuchstaben umwandeln:

print("Hallo KSR".upper())
>>> HALLO KSR

Alle Grossbuchstaben können in string.ascii_uppercase abgefragt werden. Mit str.find() können wir den Index (oder -1) finden:

import string
 
for buchstabe in "HALLO":
    print(string.ascii_uppercase.find(buchstabe))
 
>>>
7
0
11
11
14

Der Modulo-Operator % gibt uns den Rest der Ganzzahl-Division zurück. Das ist praktisch, um den Index wieder bei A starten zu lassen, wenn er grösser als Z wird:

import string
 
klartext = "Z"
index = string.ascii_uppercase.find(klartext)
index += 3
index = index % len(string.ascii_uppercase)
ciphertext = string.ascii_uppercase[index]
print(ciphertext)
 
>>> C
  • gf_informatik/verschluesselung.1645742282.txt.gz
  • Zuletzt geändert: 2022-02-24 22:38
  • von hof