Es gibt kein Unterschied in Ausgabe: beide produzieren ein Wörterbuch. Da die Eingabe etwas anders ist, kann das Wörterbuch auch anders sein. Aber Wörterbücher sind in Python nicht geordnet, das bedeutet, dass niemand damit Vermutungen anstellen kann. Beide produzieren das gleiche Wörterbuch:
>>> str.maketrans(
... "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
... "NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm")
{65: 78, 66: 79, 67: 80, 68: 81, 69: 82, 70: 83, 71: 84, 72: 85, 73: 86, 74: 87, 75: 88, 76: 89, 77: 90, 78: 65, 79: 66, 80: 67, 81: 68, 82: 69, 83: 70, 84: 71, 85: 72, 86: 73, 87: 74, 88: 75, 89: 76, 90: 77, 97: 110, 98: 111, 99: 112, 100: 113, 101: 114, 102: 115, 103: 116, 104: 117, 105: 118, 106: 119, 107: 120, 108: 121, 109: 122, 110: 97, 111: 98, 112: 99, 113: 100, 114: 101, 115: 102, 116: 103, 117: 104, 118: 105, 119: 106, 120: 107, 121: 108, 122: 109}
>>> str.maketrans(
... "ABCDEFGHIJKLMabcdefghijklmNOPQRSTUVWXYZnopqrstuvwxyz",
... "NOPQRSTUVWXYZnopqrstuvwxyzABCDEFGHIJKLMabcdefghijklm")
{65: 78, 66: 79, 67: 80, 68: 81, 69: 82, 70: 83, 71: 84, 72: 85, 73: 86, 74: 87, 75: 88, 76: 89, 77: 90, 78: 65, 79: 66, 80: 67, 81: 68, 82: 69, 83: 70, 84: 71, 85: 72, 86: 73, 87: 74, 88: 75, 89: 76, 90: 77, 97: 110, 98: 111, 99: 112, 100: 113, 101: 114, 102: 115, 103: 116, 104: 117, 105: 118, 106: 119, 107: 120, 108: 121, 109: 122, 110: 97, 111: 98, 112: 99, 113: 100, 114: 101, 115: 102, 116: 103, 117: 104, 118: 105, 119: 106, 120: 107, 121: 108, 122: 109}
Der Grund, warum ich glaube, ist, dass es einfacher ist für das menschliche Auge zu überprüfen, dass die Zeichenfolge in der Tat 13 Positionen verschoben werden. Das Alphabet enthält 26 Zeichen, und es ist auf halbem Wege zwischen 'm'
und 'n'
. Wenn wir schreiben:
rot13 = string.maketrans(
"ABCDEFGHIJKLMabcdefghijklmNOPQRSTUVWXYZnopqrstuvwxyz",
"NOPQRSTUVWXYZnopqrstuvwxyzABCDEFGHIJKLMabcdefghijklm")
Beachten Sie die fettgedruckten Zeichen. Man kann sehen, dass dort, wo die Zeichenfolge in der ersten Zeile endet, sie in der zweiten Zeile fortfährt und umgekehrt. Hier haben wir also 2 Punkte im Quellcode, wo wir leicht überprüfen können, ob wir noch richtig sind. Dies ist einfacher als 13 Orte vorwärts und rückwärts zu berechnen.
Meine Vermutung ist, dass Sie leicht überprüfen können, dass es um 13 Stellen gedreht ist, denn wenn Sie die zweite Zeile lesen, geht es einfach weiter, wo die erste Zeile übrig ist. –