這篇文章主要介紹了利用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))
以上就是本文的全部內容,希望對大家的學習有所幫助,覺得文章還不錯的話不妨收藏起來慢慢看,有任何建議或看法歡迎大家在評論區分享討論!