I have been working on the following kata from CodeWars. It's basically a Caesar Cipher — see the test cases below my solution code.
Any comments/feedback appreciated!
def encryptor(key, message):
new = ""
for letter in message:
if letter.isalpha():
id = ord(letter)
shift = id+key
if 97 <= id <= 122:
while shift>122:
shift -= 26
while shift<97:
shift += 26
letter = chr(shift)
if 65 <= id <= 90:
while shift>90:
shift -= 26
while shift<65:
shift += 26
letter = chr(shift)
new = new + letter
return new
And here are test cases that give you an idea of what is being looked for:
test.assert_equals(encryptor(13, ''), '')
test.assert_equals(encryptor(13, 'Caesar Cipher'), 'Pnrfne Pvcure')
test.assert_equals(encryptor(-5, 'Hello World!'), 'Czggj Rjmgy!')
test.assert_equals(encryptor(27, 'Whoopi Goldberg'), 'Xippqj Hpmecfsh')