Freitag, 20. Februar 2009

Caesar-Chiffre in Python

Mir war etwas langweilig und da ich mich aktuell sehr für Verschlüsselungen interessiere habe ich mich mal hingesetzt und eine einfache Caesar-Chiffre in Python geschrieben. Vielleicht kann es ja jemand gebrauchen :)


# Einfaches Programm zur Anwendung einer Caesar-Chiffre

class Caesar(object):
def crypt(self, case):
if case == 1:
self.wort = raw_input('Bitte geben Sie das zu verschluesselnde Wort ein: ')
self.schluessel = int(raw_input('Bitte geben Sie den Schluessel ein (numerisch): '))
elif case == 2:
self.wort = raw_input('Bitte geben Sie das zu entschluesselnde Wort ein: ')
self.schluessel = int(raw_input('Bitte geben Sie den Schluessel ein (numerisch): '))
self.schluessel = self.schluessel - (self.schluessel*2)

wort = ''
for x in self.wort:
i = chr(ord(x)+self.schluessel)
wort = wort + i
return wort

def menu(self):
print 'Menue: '
print '1) Verschluesseln'
print '2) Entschluesseln'
return int(raw_input())

if __name__ == "__main__":
x = Caesar()
wort = x.crypt(x.menu())
print '\n'+wort

Mittwoch, 28. Januar 2009

Sphere Online Judge

Ein sehr gutes Pendant zu Project Euler ist die Seite "Sphere Online Judge".

Auch hier ist es mölich vorher definierte Programmierprobleme zu lösen, diese einzusenden und in diesem Falle ganz besonders, mit einem in die Seite integrierten Compiler überprüfen zu lassen.
Sollte also die Laufzeit nicht stimmen, oder treten kleine Fehler auf, welche auf den ersten Blick nicht sichtbar sind, so muss man sich an die Arbeit machen und den Code optimieren.

Sphere Online Judge