编写一个"rot13"翻译器。"rot13"是一个古老而又简单的加密方法,它把字母表中的每个字母用其后的第13 个字母来代替。字母表中前半部分字母将被映射到后半部分,而后半部分字母将被映射到前半部分,大小写保持不变。举例来说,'a'将被替换为'n','X'将被替换为'K'; 数字和符号不进行翻译。
#! usr/bin/env python
# coding:utf-8
import string
upperdict = {}
lowerdict = {}
upperletters = string.uppercase
lowerletters = string.lowercase
dststr = []
oristr = raw_input('Enter string to rot13:')
print 'Your string ro en/crypt was :',oristr
for i in range(0,len(lowerletters)): #把所有小写字母转为rot13
if i<13:
lowerdict[lowerletters[i]] = lowerletters[i+13]
else:
lowerdict[lowerletters[i]] = lowerletters[i-13]
for i in range(0,len(upperletters)): #把所有大写字母转为rot13
if i<13:
lowerdict[upperletters[i]] = upperletters[i+13]
else:
lowerdict[upperletters[i]] = upperletters[i-13]
for ch in oristr:
if ch in lowerdict:
dststr.append(lowerdict[ch])
elif ch in upperdict:
dststr.append(upperdict[ch])
else:
dststr.append(ch)
dststr = ''.join(dststr)
print 'the rot13 string is:',dststr