python核心编程 习题7-10
2015-10-16 20:25
543 查看
7–10. 加密。
(a) 用上一个练习的思路编写一个"rot13"翻译器。 "rot13"是一个古老而又简单的加密方法,它把字母表中的每个字母用其后的第 13 个字母来代替。 字母表中前半部分字母将被映射到后半部分,而后半部分字母将被映射到前半部分,大小写保持不变。举例来说,'a'将被替换为'n','X'将被替换为'K';
数字和符号不进行翻译。
(b)在你的解决方案的基础上加一个应用程序,让它提示用户输入准备加密的字符串(这个算法同时也可以对加密后的字符串进行解密)
这题比较简单,一天学了一章真累啊。。。
(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('源字符串为:')))
相关文章推荐
- python利用basemap叠加地图
- Python学习之列表排序
- AIX 7.1 install python
- 八大排序算法的 Python 实现
- python模块示例
- SmartFoxServer 2x的pythonclient
- python下smtp发送邮件
- 通过SSH远程使用ipython notebook
- <LeetCode><Easy> 112 Path Sum --二叉树深度优先遍历
- python核心编程 练习7-9
- <LeetCode><Easy> 118 Pascal's Triangle
- Python游戏服务器开发日记(八)整体方案改变了……
- <LeetCode><Easy> 118 Pascal's Triangle II
- 用python读写yaml/json文件
- python核心编程 练习题7.8
- 详解使用Python处理文件目录的相关方法
- 详解在Python程序中自定义异常的方法
- Python之BeautifulSoup模块的简单使用
- Python 2.7 有用的一些链接
- 安装mysql-connector-python