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 64<ord(string[i])<78 or 96<ord(string[i])<110:
            newstring=newstring+chr(ord(string[i])+13)
        elif 91>ord(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('源字符串为:')))


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值