2015-10-26 264 views
-1

所以我需要這個任務的僞代碼,我不知道從哪裏開始。我不是試圖扯下你們,我只是想從哪裏開始的指導!文件加密和解密

編寫一個程序,該程序使用字典爲字母表中的每個字母分配「代碼」。

例如:

codes = { 'A' : '%', 'a' : '9', 'B' : '@', 'b' : '#', etc...} 

使用這個例子中,信A將被分配的符號%,信a將被分配的號碼9,信B將被分配的符號@,所以向前。

程序應打開指定的文本文件,讀取其內容,然後使用字典將文件內容的加密版本寫入第二個文件。第二個文件中的每個字符應包含第一個文件中相應字符的代碼。

編寫第二個程序,打開加密文件並在屏幕上顯示其解密內容。

+2

你知道什麼是僞代碼意味着什麼? –

+0

是的,我以前寫過僞代碼,但這項任務令我困惑。 –

+0

http://stackoverflow.com/help/on-topic請參閱第三點。如果不付出努力,我們將不會幫助做作業。嘗試作業;使用Python文檔進行字典和文件I/O;當你有一個最小的,可證實的例子,你卡住的地方並編輯這個問題時回來。這不是因爲我們認爲你是「mooching」,或者是因爲任何一方都懶惰 - 這是爲了促進更高質量的問答環節,這對未來的訪問者有意義。 – Hypaethral

回答

2

僞代碼

  1. 打開一個指定的文本文件

  2. 讀取其內容

  3. 然後用字典來寫的文件內容的加密版本到第二個文件。

第二程序

  1. 打開加密文件

  2. 在屏幕上顯示其解密的內容。

+1

gribbler再次贏得(至少不到) –

0

大部分時間我寫代碼的時候,我首先評論一下它需要做什麼。所以對於你來完成這項任務,你應該考慮一下你必須做的事情,而不是你將如何去做。

你已經寫下了你的問題中的一些內容,所以你只需要繼續做你開始做的事。

舉個例子:

打開一次 工藝線,一條線讀取和轉換每個字符的文件 ...

1

這太簡單了,很難不只是給代碼。使用str.translate。它需要一個dict映射輸入到輸出。因此,在文本讀取模式下打開一個文件,另一個文本寫入,在輸入文件中讀取(以塊或全部一次),在其上調用.translate(codes)並寫出翻譯結果。

0

這是一箇舊的帖子,但這對我很有用。 對它進行加密:

encryption_library = {'A':'!','B':'@','C':'#','D':'$','E':'%','F':'^','G':'&','H':'*','I':'(', 
         'J':')','K':'-','L':'_','M':'+','N':'=','O':'`','P':'~','Q':'{','R':'[', 
         'S':'}','T':']','U':':','V':';','W':'"','X':'<','Y':'>','Z':'0','a':'1', 
         'b':'2','c':'3','d':'4','e':'5','f':'6','g':'7','h':'8','i':'9','j':'a', 
         'k':'b','l':'c','m':'d','n':'e','o':'f','p':'g','q':'h','r':'i','s':'j', 
         't':'k','u':'l','v':'m','w':'n','x':'o','y':'p','z':'q'} 

orig_file = open('Plain_Text_File.txt','r') 
file_read = orig_file.read()  
orig_file.close() 
encrypt_file = open('ENCRYPTED_Plain_Text_File.txt','w') 

for ch in file_read: 
    if ch in encryption_library: 
     encrypt_file.write(encryption_library[ch]) 
    else: 
     encrypt_file.write(ch) 

encrypt_file.close() 
encrypt_file = open('Plain_Text_File.txt','r') 
file_read = encrypt_file.read() 
encrypt_file.close() 
codes_items = encryption_library.items() 

for ch in file_read: 
    if not ch in encryption_library.values() or ch == '.' or ch == ',' or ch == '!': 
     print(ch) 
    else: 
     for k,v in codes_items: 
      if ch == v and ch != '.': 
       print(k,end='') 

對其進行解密:

decryption_library = {'!':'A','@':'B','#':'C','$':'D','%':'E','^':'F','&':'G','*':'H','(':'I', 
         ')':'J','-':'K','_':'L','+':'M','=':'N','`':'O','~':'P','{':'Q','[':'R', 
         '}':'S',']':'T',':':'U',';':'V','"':'W','<':'X','>':'Y','0':'Z','1':'a', 
         '2':'b','3':'c','4':'d','5':'e','6':'f','7':'g','8':'h','9':'i','a':'j', 
         'b':'k','c':'l','d':'m','e':'n','f':'o','g':'p','h':'q','i':'r','j':'s', 
         'k':'t','l':'u','m':'v','n':'w','o':'x','p':'y','q':'z'} 

orig_file = open('ENCRYPTED_Plain_Text_File.txt','r') 
file_read = orig_file.read() 
orig_file.close() 
encrypt_file = open('DECRYPTED_Plain_Text_File.txt','w') 

for ch in file_read: 
    if ch in decryption_library: 
     encrypt_file.write(decryption_library[ch]) 
    else: 
     encrypt_file.write(ch) 

encrypt_file.close() 
encrypt_file = open('ENCRYPTED_Plain_Text_File.txt','r') 
file_read = encrypt_file.read() 
encrypt_file.close()  
codes_items = decryption_library.items() 

for ch in file_read: 
    if not ch in decryption_library.values() or ch == '.' or ch == ',' or ch == '!': 
     print(ch) 
    else: 
     for k,v in codes_items: 
      if ch == v and ch != '.': 
       print(k,end='')