Joaquim Santos wrote:
- How can I make this "Human readable"? ... Print the letters in just one (or more) lines and maybe replace the " for spaces (This one I suppose it could/should be done with whitespaces() or just making a loop to check and change those for ' '.)
Firstly, you should not directly print anything in the function. You should always separate *functionality* from *presentation*. The function should do the job of doing the Caesar shift, and should return a string. This allows the caller to store the result in a variable for further work. Presentation should be handled by the caller, often (but not always) by using print.
So you should accumulate each character into a list, then when done combine all the characters together into a string using ''.join(the_list), and finally return the string.
Secondly, Caesar decryption should wrap around -- that is, it should only apply to letters A...Z and only produce letters A...Z, and likewise for lowercase. Anything not a letter shouldn't be shifted.
So it isn't enough to just add the shift to the letter. E.g. 'z' shifted by 1 gives '{', but needs to be 'a'.
If you have trouble implementing these two concepts, don't hesitate to ask for additional hints and suggestions.
-- Steven _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor