Python :: Aufgabe #23 :: Lösung #3
5 Lösungen
#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
#3
von Nachbar (2820 Punkte)
- 20.08.2016 um 21:30 Uhr
# -*- coding: utf-8 -*-
b = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n",\
"o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
print "Verschlüsseln: v"
print "Entschlüsseln: e"
x = 0
while x < 1:
auswahl = raw_input("\nAuswahl: ")
if auswahl != "v" and auswahl != 'e':
print "\nBitte entweder 'v' oder 'e' eingeben!"
else:
x = 1
# Verschlüsselung
if auswahl == "v":
eingabe = raw_input("\nBitte das zu verschlüsselnde Wort eingeben: ").lower()
rot = input("Stellenanzahl für Verschiebung: ")
chiffre = ""
x = 0
while x < len(eingabe):
# Position des Buchstaben ermitteln
indexBuchstabe = b.index(eingabe[x])
# Position nach Verschiebung ermitteln
if indexBuchstabe + rot > 25:
indexBuchstabe_ab_anfang = (indexBuchstabe + rot) % 26
chiffre = chiffre + b[indexBuchstabe_ab_anfang]
else:
chiffre = chiffre + b[indexBuchstabe + rot]
x = x + 1
print "\nVerschiebung um " + str(rot) + " Stellen ergibt den \
Begriff: " + chiffre
# Entschlüsselung
else:
eingabe = raw_input("\nBitte das zu entschlüsselnde Wort eingeben: ").lower()
rot = input("Stellenanzahl für Verschiebung: ")
dechiffre = ""
x = 0
while x < len(eingabe):
indexBuchstabe = b.index(eingabe[x])
if indexBuchstabe + rot > 25:
indexBuchstabe_ab_anfang = (indexBuchstabe - rot) % 26
dechiffre = dechiffre + b[indexBuchstabe_ab_anfang]
else:
dechiffre = dechiffre + b[indexBuchstabe - rot]
x = x + 1
print "\nVerschiebung um " + str(rot) + " Stellen ergibt den \
Begriff: " + dechiffreKommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
