新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:凱撒密碼python編程簡單
1、說明

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


咨詢
建站咨詢
