凱撒加密法的密鑰是0~25的整數
# _*_ coding:utf-8 _*_ #Caeser Ciper import pyperclip messgae = 'this is my secret messgae.' key = 13 mode = 'encrypt' #模式是加密而非解密(decrypt) LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' #常量要大寫 translated = '' messgae = messgae.upper() for symbol in messgae: if symbol in LETTERS: num = LETTERS.find(symbol) #find()返回的是該字符在字符串中的位置 if mode == 'encrypt':#判斷當前是加密還是解密過程 num = num+key elif mode == 'decrypt': num = num-key if num > len(LETTERS):#當處理后的數字脫離26個字母的數字范圍后的處理 num = num - len(LETTERS) elif num < 0: num = num + len(LETTERS) translated = translated + LETTERS[num]#空字符串一個個加上翻譯后得到的字符 else: #如果要翻譯的字符不在26個大寫字母的范圍內 translated =translated + symbol print translated pyperclip.copy(translated)
>>> GUVF VF ZL FRPERG ZRFFTNR. [Finished in 0.8s]
僅允許非商業轉載,轉載請注明出處