1 # -*- coding:utf-8 -*- 2 3 def extract(line, sep=' '): 4 5 line = line.strip() 6 line = line.upper() 7 words = line.split(sep) 8 #print(words) 9 10 if line == '': 11 return 'Missing key!','Missing text!' 12 elif len(words) == 1 and words[0] != '': 13 key = words[0] 14 return key,'Missing text!' 15 elif len(words) == 2: 16 key = int(words[0]) 17 word = words[1] 18 return key,word 19 20 21 def encrypted(key, word): 22 result = '' 23 length = 26 24 for item in word: 25 index = ord(item) 26 tmp = index - 65 + key 27 28 tmp = tmp % 26 29 char = chr(tmp+65) 30 31 result = result + char 32 return result 33 34 def deencrypted(key, ciphertext): 35 result = '' 36 length = 26 37 for item in ciphertext: 38 index = ord(item) 39 tmp = index-65-key 40 tmp = (tmp + 26)%26 41 char = chr(tmp+65) 42 result = result + char 43 return result 44 45 def main(): 46 47 #filename = input('Enter the input filename:') 48 filename = 'secret_code.txt' 49 50 if len(filename) > 0: 51 with open(filename, 'r') as file: 52 data = file.readlines() 53 for line in data: 54 key,word = extract(line,sep=' ') 55 #print('key={} word={}'.format(key, word)) 56 if key=='Missing key!' and word == 'Missing text!': 57 continue 58 59 if word == 'Missing text!': 60 print('Missing text!') 61 62 if key != 'Missing key!' and word != 'Missing text!': 63 print(deencrypted(key, word)) 64 65 if __name__ == '__main__': 66 main()