habe mal wieder ein kleines Problem. Wir sollen ein Programm schreiben, dass mit Hilfe von Caesar verschlüsselt. Da ich in Python noch nicht so fit bin, habe ich mir jetzt erstmal etwas Umständliches ausdenken müssen, um zu testen, ob in dem bisher nur einzigen Wort, das verschlüsselt werden soll, ein Leerzeichen/Sonderzeichen steckt. Das Problem ist nun jedoch, dass der Ablauf bei der Prüfung des Wortes ständig im except endet, wobei ich keinen Eingabefehler mache. Könnte höchstens sein, dass bei der Abfrage in der for-Schleife etwas falsch gesetzt ist. Wäre froh wenn mir jemand einen Rat geben könnte.
Code: Alles auswählen
beenden=0
while beenden==0:
try:
schluessel=input('Geben Sie hier an um wieviele Stellen ihr Alphabet verrückt werden soll: ')
except:
print 'Bitte geben Sie eine positive, ganze Zahl ein!'
try:
wort=raw_input('Geben Sie hier Ihr zu verschlüsselndes Wort an: ')
laenge=len(wort)
for i in range(0,laenge+1):
if ord(wort[i]) not in range(int(chr(65)),int(chr(90))) or ord(wort[i]) not in range(int(chr(97)),int(chr(122))):
raise
except:
print 'Sie dürfen nur ein einziges Wort ohne Sonderzeichen angeben'
in der for-Schleife soll das Skript jeden Buchstaben des Wortes auslesen und diesen mit ord() in einen Integer umwandeln. Mit der if-Anweisung soll dann sichergestellt werden, dass jeder der Buchstaben auch ein Buchstabe ist; diese liegen meines Wissens in den chr-Werten 65-90 (Großbuchstaben) bzw. 97-122 (Kleinbuchstaben)...
Meiner Meinung nach kann der Fehler nur in der if-Anweisung liegen.
Wäre wirklich dankbar für jede Hilfe,
MFG evil4president