愷撒密碼python代碼
小白自己隨便寫的,最笨的辦法
問題:
愷撒密碼
????????????????????????????????????????????????????????????????????????????????????????????????描述
愷撒密碼是古羅馬愷撒大帝用來對軍事情報進行加解密的演算法,它采用了替換方法對資訊中的每一個英文字符回圈替換為字母表序列中該字符后面的第三個字符,即,字母表的對應關系如下:????????????????????????????????????????????????????????????????????????????????????????????????
原文: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????????????????????????????????????????????????????????????????????????????????????????????????
密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C????????????????????????????????????????????????????????????????????????????????????????????????
對于原文字符P,其密文字符C滿足如下條件:C=(P+3) mod 26????????????????????????????????????????????????????????????????????????????????????????????????
上述是凱撒密碼的加密方法,解密方法反之,即:P=(C-3) mod 26????????????????????????????????????????????????????????????????????????????????????????????????
假設用戶可能使用的輸入包含大小寫字母azAZ、空格和特殊符號,請撰寫一個程式,對輸入字串進行愷撒密碼加密,直接輸出結果,其中空格不用進行加密處理,使用input()獲得輸入,????????????????????????????????????????????????????????????????????????????????????????????????
???????????????????????????????????????????????????????????????????????????????????????????????輸入
示例1: python is good????????????????????????????????????????????????????????????????????????????????????????????????
輸出
示例1: sbwkrq lv jrrg
凱撒密碼加密:
#凱撒密碼加密
P = input()
ABC = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
CBA = "DEFGHIJKLMNOPQRSTUVWXYZABCdefghijklmnopqrstuvwxyzabc"
u = len(P)
for i in range(u):
s = P[i]
if s in ABC:
n=ABC.index(s)
print(CBA[n],end='')
else:
print(s,end='')
凱撒密碼解密:
#凱撒密碼解密
P = input()
ABC = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
CBA = "DEFGHIJKLMNOPQRSTUVWXYZABCdefghijklmnopqrstuvwxyzabc"
u = len(P)
for i in range(u):
s = P[i]
if s in CBA:
n=CBA.index(s)
print(ABC[n],end='')
else:
print(s,end='')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/126472.html
標籤:其他
上一篇:Python 音頻檔案批量切割
下一篇:下一代分組交換網路的關鍵技術哪些
