Python :: Aufgabe #23 :: Lösung #1

5 Lösungen Lösungen öffentlich
#23

Mit Caesar Chiffre ent- und verschlüsseln

Anfänger - Python von Dome - 03.01.2013 um 01:30 Uhr
Schreiben Sie ein Programm, indem Sie mit Hilfe der Caesar Chiffre einen beliebigen Text ent- und verschlüsseln können. Zuvor muss der Text und die Anzahl der Verschiebung angegeben werden. Groß- und Kleinschreibung muss nicht beachtet werden.

Konsolenausgabe:

Geben Sie den Text ein: Beispielwort
Um wie viele Stellen soll verschoben werden: 1
Ergebnis: Cfjtqjfmxpsu
#1
vote_ok
von Freki (850 Punkte) - 13.10.2014 um 12:20 Uhr
Quellcode ausblenden Python-Code
#Verschiebung um x Stellen
print
x = int(input('Um wieviele Stellen soll das Alphabet verschoben werden? '))


t = input('Einen Text zum Verschluesseln/Entschluesseln eingeben: ')

#Umwandlung in eine Liste
l = list(t)

#Umwandlungvorschrift der eingegeben Buchstaben (mithilfe eines Dictionaries)
d = {   "a":0 , "b":1 , "c":2 , "d":3 , "e":4 ,
        "f":5 , "g":6 , "h":7 , "i":8 , "j":9 ,
        "k":10, "l":11, "m":12, "n":13, "o":14,
        "p":15, "q":16, "r":17, "s":18, "t":19,
        "u":20, "v":21, "w":22, "x":23, "y":24, "z":25   }

#Umwandlungsvorschrift der Zahlen in Buchstaben
e = {  0 :"a", 1 :"b", 2 :"c", 3 :"d", 4 :"e",
       5 :"f", 6 :"g", 7 :"h", 8 :"i", 9 :"j",
       10:"k", 11:"l", 12:"m", 13:"n", 14:"o",
       15:"p", 16:"q", 17:"r", 18:"s", 19:"t",
       20:"u", 21:"v", 22:"w", 23:"x", 24:"y", 25:"z"   }

#Verschluesselung
#Leere Hilfsliste definieren
m = []

#Verschluesselung der einzelnen Buchstaben mit 'while'-Schleife
i = 0
while i < len(l):
    m.append(e[(d[l[i]] + x)%26])
    i = i + 1

#Hilfsstring definieren
s = ""

#Ausgabe als Textblock
j=0
while j < len(m):
    s = s + m[j]
    j = j + 1

#Die entgültige Ausgabe
print
print ("Dies ist der Geheimtext: " +s)

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben