Advertisement
Guest User

Untitled

a guest
Jan 7th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. import sys
  2.  
  3. def run(text, shift):
  4. text = text.lower()
  5. ord_of_a = ord('a')
  6. result = ''
  7. for letter in text:
  8. if letter in 'qwertyuiopasdfghjklzxcvbnm':
  9. letter = chr(abs((ord(letter) - ord_of_a + shift) % 26 + ord_of_a))
  10. result += letter
  11. return result
  12.  
  13. def test_a_to_b():
  14. actual = run('a', 1)
  15. expected = 'b'
  16. if actual != expected:
  17. print 'Test a to b fail!'
  18.  
  19. def test_z_to_a():
  20. actual = run('z', 1)
  21. expected = 'a'
  22. if actual != expected:
  23. print 'Test z to a fail!'
  24.  
  25. def test_leaves_spaces():
  26. actual = run('Hello World', 1)
  27. expected = 'Ifmmp Xpsme'
  28. if actual != expected:
  29. print 'Test leaves spaces fail!'
  30.  
  31. def test_decrypt():
  32. actual = run('ifmmp xpsme', -1)
  33. expected = 'hello world'
  34. if actual != expected:
  35. print 'Test decrypt fail!'
  36.  
  37. if __name__=='__main__':
  38. test_a_to_b()
  39. test_z_to_a()
  40. test_leaves_spaces()
  41. test_decrypt()
  42. op = sys.argv[1].lower()
  43. text = sys.argv[2]
  44. shift = int(sys.argv[3])
  45. if op == 'd':
  46. shift = -shift
  47. print run(text, shift)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement