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: " + dechiffre
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1