重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
序言:
成都创新互联是一家专业提供南涧企业网站建设,专注与网站设计、成都网站制作、H5场景定制、小程序制作等业务。10年已为南涧众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。这是我第一次写博客,有不足之处,希望大家指出,谢谢!
这次的题目一共有三个难度,分别是简单,中等偏下,中等。对于一些刚刚入门的小伙伴来说,比较友好。废话不多说,直接进入正题。
正文:
简单难度:
【题目要求】:
实现以《三国演义》为密码本,对输入的中文文本进行加密和解密。至于加密方式,最简单的从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))