How can you tell an extrovert from an introvert at NSA? Va gur ryringbef, gur rkgebireg ybbxf ng gur BGURE thl'f fubrf.
I found this joke on USENET, but the punchline is scrambled. Maybe you can decipher it? According to Wikipedia, ROT13 (http://en.wikipedia.org/wiki/ROT13) is frequently used to obfuscate jokes on USENET.
Hint: For this task you're only supposed to substitue characters. Not spaces, punctuation, numbers etc. Test examples:
例子:
rot13("EBG13 rknzcyr.") == "ROT13 example.";
rot13("This is my first ROT13 excercise!" == "Guvf vf zl svefg EBG13 rkprepvfr!"
我的解法:
def rot13(message):
a=''
for n in message:
if n.isupper():
if n<='M':
a+=chr(ord(n)+13)
else:
a+=chr(ord(n)-13)
elif n.islower():
if n<='m':
a+=chr(ord(n)+13)
else:
a+=chr(ord(n)-13)
else:
a+=n
return a
其他解法:【卧槽有没有!!!】
def rot13(message):
return message.encode('rot13')
import string
def rot13(message):
first = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
trance = 'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm'
return message.translate(string.maketrans(first, trance))
import string
from codecs import encode as _dont_use_this_
def rot13(message):
return message.encode('rot13')