这篇文章主要介绍了利用Python产生加密表和解密表的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,感兴趣的朋友可以好好看看!
题目很简单,对于一些刚刚入门的小伙伴来说,比较友好。废话不多说,直接进入正题。
【题目要求】:
实现以《三国演义》为密码本,对输入的中文文本进行加密和解密。至于加密方式,最简单的从0开始,一直往后,有多个字,就最多到多少。
【分析】:
1.知识背景:需要用到文件的读写操作,以及字典和集合的相关知识。
2思路:现将文件读取进来,然后对文字进行依次编码,存入字典中.
【代码】:
#------------------------------简单难度-----------------------------------
def Load_file_easy(path):
#[注]返回值是一个set,不可进行数字索引
file = open(path,'r',encoding='utf8')
Str = file.read()
Str = set(Str)
file.close()
return Str
def Encode_easy(Lstr):
Sstr = list(set(Lstr))
Encode_Dict = {}
for i in range(len(Lstr)):
Encode_Dict[Sstr[i]] = i
return Encode_Dict
def Decode_easy(Encode_dict):
List1 = Encode_dict.keys()
List2 = Encode_dict.values()
Decode_Dict = dict(list(zip(List2,List1)))
return Decode_Dict
path = 'SanGuo.txt'
Str = list(Load_file_easy(path))
Encode_dict = Encode_easy(Str)
Decode_dict = Decode_easy(Encode_dict)
#写入同级目录下的文件中,如果不存在文件,则会新创建
#(博主的运行环境是:Ubuntu,win系统的小伙伴可能会在文件末尾加上.txt 啥的,略略略)
with open('easy_degree_Encode_dict','w') as file:
file.write(str(Encode_dict))
with open('easy_degree_Decode_dict','w') as file:
file.write(str(Decode_dict))
以上就是本文的全部内容,希望对大家的学习有所帮助,觉得文章还不错的话不妨收藏起来慢慢看,有任何建议或看法欢迎大家在评论区分享讨论!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。