python核心编程 习题7-10

7–10. 加密。

(a) 用上一个练习的思路编写一个"rot13"翻译器。 "rot13"是一个古老而又简单的加密方法,它把字母表中的每个字母用其后的第 13 个字母来代替。 字母表中前半部分字母将被映射到后半部分,而后半部分字母将被映射到前半部分,大小写保持不变。举例来说,'a'将被替换为'n','X'将被替换为'K'; 数字和符号不进行翻译。

(b)在你的解决方案的基础上加一个应用程序,让它提示用户输入准备加密的字符串(这个算法同时也可以对加密后的字符串进行解密)


这题比较简单,一天学了一章真累啊。。。

def rot13(string):
    '''
将一个字符串变为rot13加密
'''
    lens=len(string)
    newstring=''
    for i in range(0,lens):
        if 64ord(string[i])>77 or 123>ord(string[i])>109:
            newstring=newstring+chr(ord(string[i])-13)
        else:
            newstring=newstring+string[i]
    return newstring



if __name__ == '__main__':
    print('rot13加密/解密后结果为:%s'%rot13(input('源字符串为:')))


你可能感兴趣的:(python学习)