Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- MAX_KEY_SIZE = 26
- def getMode():
- while True:
- print('Do you wish to encrypt or decrypt a message?: ')
- mode = input().lower()
- if mode in 'encrypt e decrypt d'.split():
- return mode
- else:
- print('Enter either "Encrypt" or "E" or "Decrypt" or "D" ')
- def getMessage():
- print('Enter your message: ')
- return input()
- def getKey():
- key = 0
- while True:
- print('Enter the key number (1-%s)' % (MAX_KEY_SIZE))
- key = int(input())
- if (key >= 1 and key <= MAX_KEY_SIZE):
- return key
- def getTranslatedMessage(mode, message, key):
- translated = []
- if mode[0] == 'd':
- key = -key
- for symbol in message:
- print(symbol)
- num = 0
- # is it a letter
- if symbol.isalpha():
- # is it upper case
- if symbol.isupper():
- num = ord(symbol)
- print(num)
- # for wrapping around the alphabet
- if num > ord ('Z'):
- num -= 26
- print('Z ', num)
- elif num < ord('A'):
- num += 26
- print('A ', num)
- num = ord(symbol)
- num += key
- translated.append(num)
- # is it lower case
- elif symbol.islower():
- if num > ord('z'):
- num -= 26
- print('z ', num)
- elif num < ord('a'):
- print('num' , num)
- print('ord ', ord('a'))
- num += 26
- print(symbol)
- print('a ', num)
- num = ord(symbol)
- num += key
- translated.append(num)
- # else add to the translated list
- else:
- translated.append(symbol)
- # add translated letter to list for lower
- # after we have gone through the word, we return the translate
- return translated
- print("getMode()")
- mode = getMode()
- print("getMode: ", mode)
- print("getMessage()")
- message = getMessage()
- print("getMessage: ", message)
- print("getKey()")
- key = getKey()
- print("key: ", key)
- print('Your translated text is: ')
- result = getTranslatedMessage(mode,message,key)
- print(result)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement