ich bin relativ neu in Python und habe die Cäsar verschlüsselung ausprobiert und das hat ganz gut geklappt aber ein zwei Problemchen habe ich trotzdem noch
Code: Alles auswählen
print("Willkommen zur Caesarchiffre!")
MAX_KEY_SIZE = 26
def getMode():
while True:
print('Wollen sie verschlüsseln(v) oder entschlüsseln(e) ?')
mode = input().lower()
if mode in 'verschlüsseln v entschlüsseln e'.split():
return mode
else:
print('Bitte geben sie entweder "v" zum verschlüsseln oder "e" zum entschlüsseln ein .')
def getMessage():
print('Geben sie ihre Nachricht ein:')
return input()
def getKey():
key = 0
while True:
print('Geben sie die Zahl der Verschiebung(en) an. (1-%s)' % (MAX_KEY_SIZE))
key = int(input())
if (key >= 1 and key <= MAX_KEY_SIZE):
return key
def getTranslatedMessage(mode, message, key):
if mode[0] == 'e':
key = -key
translated = ''
for symbol in message:
if symbol.isalpha():
num = ord(symbol)
num += key
if symbol.isupper():
if num > ord('Z'):
num -= 26
elif num < ord('A'):
num += 26
elif symbol.islower():
if num > ord('z'):
num -= 26
elif num < ord('a'):
num += 26
translated += chr(num)
else:
translated += symbol
return translated
mode = getMode()
message = getMessage()
key = getKey()
print('Ihr Text lautet:')
print(getTranslatedMessage(mode, message, key))
print("Noch einmal ? J/N")
again = input().lower()
if again in 'ja j'.split():
getMode
else:
quit
Mein zweites Problem ist das wenn der User die Anzahl der Verschiebungen eingeben soll und was falsches eingibt das Programm natürlich crasht das krieg ich leider auch nicht hin...