Python-Caesar-Chiffre Mit Ord und Chr
Ich dachte, ich habe genug gelernt python, um eine caesar-Chiffre, so dass ich begann es, und ich habe gegen eine Wand geprallt.
Hier ist mein code:
phrase = raw_input("Enter text to Cipher: ")
shift = int(raw_input("Please enter shift: "))
result = ("Encrypted text is: ")
for character in phrase:
x = ord(character)
x = x + shift
print chr(x)
In dem moment, wenn der Satz 'Hallo' und shift 1 ist , wird die for-Schleife nur Schlingen um den Brief, den ich, nicht der Buchstabe h, also mein Ergebnis ist: j
Möchte ich Schleife um das ganze Wort und die Verschiebung jedes Buchstaben durch was auch immer die shift-int-variable ist.
Wie kann ich die Schleife um den Satz Variablen?
- Wenn es nur die Ausgabe eines Zeichens, und das ist der voraussichtlich Letzte Zeichen, was bedeutet, dass Sie erzählen, wenn die
print
- Anweisung stattfindet? - Sorry nicht 100% sicher. Ich habe versucht, indem Sie den Druck innerhalb der Schleife und die Ergebnisse waren: i,j auf separaten Zeilen. So wie es aussieht die Schleife funktioniert, aber es gibt etwas falsch mit der Art, wie ich bin drucken des info.
- Sollten Sie auch denken, was soll geschehen mit
az
zum Beispiel - Hallo Jon, ja, ich war gonna look. Ich müsste eine if-Anweisung, so würde es gehen wieder um 32 (Leerzeichen)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Code drucken
ord()
Wert von'j'
weil am Ende der loop-Charakter ist gleich'i'
. Speichern Sie das neue Zeichen in eine Liste, und nach dem Ende der Schleife sollten Sie sich Ihnen anschließen und dann drucken.Demo:
list.append
hängt die Elemente am Ende der Liste.Fügen Sie jede verschlüsselte Zeichen der
result
string.Versuchen: