Ixsis Rätsel

Ixsi hat eben auf Twitter folgendes Rätsel gestellt:

Dummerweise habe ich gerade zwei Klassenarbeiten zu korrigieren und morgen meinen ersten Lehrprobenstoffverteilungsplan einzureichen.  Deshalb muss ich die Herausforderung heute leider dankend…

…annehmen natürlich!

Also auf ans Werk: Bestimmt ist das nur einer diesen Buchstabenverschiebecodes.  In Python* geht das hübsch schnell, in wenigen Zeilen:

msg = "XFS EBT MFTFO LBOO, JTU TDIMBV!"

def shift(zahl, d):
    z = zahl - ord('A')  # ASCII auf 0..26 abbilden
    if not (0 <= z <= 26):
        return zahl   # Ignorieren, wenn's kein Grossbuchstabe ist
    z = (z + d) % 26  # zyklisch verschieben
    return z + ord('A')  # wieder in ASCII-Bereich verschieben

for d in range(26):
    nmsg = [chr(shift(ord(k), d)) for k in msg]  # ASCII --> Zahl --> shift --> ASCII
    print "".join(nmsg)

Und was kommt raus?

WER DAS LESEN KANN, IST SCHLAU!

Na, wenn ixsi das sagt, werd‘ ich doch nicht widersprechen 😉

*Ah, Python! Tut gut nach all dem Java in der Schule!

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s