Simple Ceaser-Cypher

Some weeks ago i found this website called “Programming Praxis“, where you can find exercices to practice your programming skills. So every week they post a new problem and a possible resolution (it’s better if you only see it after you’ve done yours), and people try to solve and add a comment with their solution which is fun because you can see diferent ways of thinking in diferent languages.

So i will try once in a while (when time isn’t short) to solve some problems and post here my solutions (generally in python, but i will try other languages too). For this first time i have picked an old and simple problem posted in 2009 (here) about the Ceaser-Cypher which is basically an ancient, simple an totally insecure encryption method, where you add 13 to every letter in the sentense (example: “a” + 13  =  “n”) and when it reaches “z” you return to “a” (example: “t” + 13 = “h”).

So here is the function and the answer to their question:

def ROT13(string):
	new_string=""
	for i in string:
		letter=ord(i)
		if (letter>=65 and letter<=90) or (letter>=97 and letter<=122):
			if letter<=90 and letter+13>90:
				new_string += chr(64+(letter+13-90))
			elif letter<=122 and  letter+13>122:
				new_string+=chr(96+(letter+13-122))
			else:
				new_string+=chr(letter+13)
		else:
			new_string+=i
	return new_string 

Question: What is the meaning of “Cebtenzzvat Cenkvf vf sha!”?
Answer: Programming Praxis is fun!

P.S: I know that the solution could be more elegant but for now this one does the job

So i will try once in a while (when time isn

Your post must include a link to this post.

How does this work?
Write a response on your own website and include a link to this post. Then submit your response’s URL here. Your response may appear here after moderation. To update or remove it, edit or delete your original post and submit the same URL again. Learn more about Webmentions.