凱撒密碼python編程簡單
1、說明
凱撒密碼是古羅馬凱撒大帝為了解密軍事情報而使用的算法。將信息中的每個英語文字循環替換為文字表序列中的第三個字符。有一套專門的字母表對應關系。
2、注意
密文是大寫字母,在變換加密之前把明文字母都替換為大寫字母。
如果是加密,輸出的密文是大寫字母,如果是解密,按照凱撒解密后,轉換為小寫后,輸出解密后的明文。
3、實例
fromstringimportascii_lowercase
s=input()#輸入一個字符串s
str1=''#聲明一個字符串str1并賦值''
foriins:#遍歷s,我改了下源代碼,這個更方便
ifiinascii_lowercase:#如果i是小寫字母,string.ascii_lowercase直接對應從a到z的字符串
temp=ord(i)#獲取i對應的ascii碼
num=(temp-97+3)%26#凱撒加密,應該是每個字母向后移動三位,a->d,b->e...x->a,y->b,z->c
str1=chr(num+97)#ascii碼a是從97開始的,所以上一步要-97,這一步要+97
print(str1,end="")#顯示結果
else:
print("",end="")#如果不是小寫字母,則直接打印空白
#如果s的長度特別長,每次都從a-z長度的字符串里找效率不是很高,可以試試以下代碼,所有功能都一樣
s=input()#輸入一個字符串s
str1=''#聲明一個字符串str1并賦值''
foriins:#遍歷s,我改了下源代碼,這個更方便
temp=ord(i)#獲取i對應的ascii碼
if97<=temp<=122:#如果i是小寫字母,因為字母a的ascii碼就是97,z的ascii碼是122
num=(temp-94)%26#凱撒加密,應該是每個字母向后移動三位,a->d,b->e...x->a,y->b,z->c
str1=chr(num+97)
print(str1,end="")#顯示結果
else:
print("",end="")#如果不是小寫字母,則直接打印空白
以上就是凱撒密碼python編程簡單的介紹,相信大家已經對凱撒密碼有了初步的了解,學會后趕快動手試試吧。更多Python學習教程請關注IT培訓機構:千鋒教育。