|
- def rotate(x, y):
- return (x + y) % 26
-
-
- def shift(letter, n):
- x = ord(letter) - ord('A')
- y = rotate(x, n)
- return chr(ord('A') + y)
-
-
- def rot13(message):
- message = "".join([x for x in message if x.isalpha()])
- message = message.upper()
- res = ""
- for c in message:
- res += shift(c, 13)
- return res
-
-
- def test_rotate():
- assert rotate(1, 3) == 4
- assert rotate(25, 3) == 2
-
-
- def test_shift():
- assert shift('A', 2) == 'C'
- assert shift('E', 2) == 'G'
- assert shift('Y', 3) == 'B'
-
-
- def test_rot13():
- assert rot13('hello') == 'URYYB'
- assert rot13('URYYB') == 'HELLO'
|