新聞中心
1、說(shuō)明

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序定制開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了廣豐免費(fèi)建站歡迎大家使用!
凱撒密碼是古羅馬凱撒大帝為了解密軍事情報(bào)而使用的算法。將信息中的每個(gè)英語(yǔ)文字循環(huán)替換為文字表序列中的第三個(gè)字符。有一套專門(mén)的字母表對(duì)應(yīng)關(guān)系。
2、注意
密文是大寫(xiě)字母,在變換加密之前把明文字母都替換為大寫(xiě)字母。
如果是加密,輸出的密文是大寫(xiě)字母,如果是解密,按照凱撒解密后,轉(zhuǎn)換為小寫(xiě)后,輸出解密后的明文。
3、實(shí)例
from string import ascii_lowercase
s=input() # 輸入一個(gè)字符串s
str1='' # 聲明一個(gè)字符串str1并賦值''
for i in s: # 遍歷s,我改了下源代碼,這個(gè)更方便
if i in ascii_lowercase: # 如果i是小寫(xiě)字母,string.ascii_lowercase直接對(duì)應(yīng)從a到z的字符串
temp=ord(i) # 獲取i對(duì)應(yīng)的ascii碼
num=(temp-97+3)%26 # 凱撒加密,應(yīng)該是每個(gè)字母向后移動(dòng)三位,a->d, b->e...x->a, y->b, z->c
str1=chr(num+97) # ascii碼a是從97開(kāi)始的,所以上一步要-97,這一步要+97
print(str1,end="") # 顯示結(jié)果
else:
print(" ",end="") # 如果不是小寫(xiě)字母,則直接打印空白
# 如果s的長(zhǎng)度特別長(zhǎng),每次都從a-z長(zhǎng)度的字符串里找效率不是很高,可以試試以下代碼,所有功能都一樣
s=input() # 輸入一個(gè)字符串s
str1='' # 聲明一個(gè)字符串str1并賦值''
for i in s: # 遍歷s,我改了下源代碼,這個(gè)更方便
temp=ord(i) # 獲取i對(duì)應(yīng)的ascii碼
if 97<=temp<=122 : # 如果i是小寫(xiě)字母, 因?yàn)樽帜竌的ascii碼就是97,z的ascii碼是122
num=(temp -94)%26 # 凱撒加密,應(yīng)該是每個(gè)字母向后移動(dòng)三位,a->d, b->e...x->a, y->b, z->c
str1=chr(num+97)
print(str1,end="") # 顯示結(jié)果
else:
print(" ",end="") # 如果不是小寫(xiě)字母,則直接打印空白以上就是凱撒密碼python編程簡(jiǎn)單的介紹,相信大家已經(jīng)對(duì)凱撒密碼有了初步的了解,學(xué)會(huì)后趕快動(dòng)手試試吧。更多Python學(xué)習(xí)指路:創(chuàng)新互聯(lián)Python教程
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。
文章標(biāo)題:創(chuàng)新互聯(lián)Python教程:凱撒密碼python編程簡(jiǎn)單
轉(zhuǎn)載來(lái)于:http://m.fisionsoft.com.cn/article/coggpjh.html


咨詢
建站咨詢
