DaniWeb IT Discussion Community

Code Snippets (http://www.daniweb.com/code/)
-   python (http://www.daniweb.com/code/python.html)
-   -   ceaser cypher (http://www.daniweb.com/code/snippet748.html)

avgprogramerjoe python syntax
Aug 16th, 2007
This code takes a string a cyphers it by shifting it's position in the alphabet. I've gotten it so it can pretty much take paragraphs. It's quite neat to play with.
For example the above when shifted to 5, would be:
Ymnx htij yfpjx f xywnsl f hDumjwx ny gD xmnkynsl ny,x utxnynts ns ymj fqumfgjy= N,Aj ltyyjs ny xt ny hfs uwjyyD rzhm yfpj ufwflwfumx= Ny,x vznyj sjfy yt uqfD Bnym=

  1. import string
  2. numbers = ""
  3. x = 0
  4. while x < 11:
  5. numbers = numbers + str(x)
  6. x += 1
  7. shift = int(raw_input("Pick shift key from 1-9"))
  8. choice = raw_input("would you like to encode or decode?")
  9. letters = string.ascii_letters + string.punctuation + numbers
  10. word = (raw_input("Please enter text"))
  11. print letters
  12. encoded = ''
  13. if choice == "encode":
  14. for letter in word:
  15. if letter == ' ':
  16. encoded = encoded + ' '
  17. else:
  18. x = letters.index(letter) + shift
  19. encoded = encoded + letters[x]
  20. if choice == "decode":
  21. for letter in word:
  22. if letter == ' ':
  23. encoded = encoded + ' '
  24. else:
  25. x = letters.index(letter) - shift
  26. encoded = encoded + letters[x]
  27. print encoded