【問題】據傳說,最原始的加密解密是使用在羅馬軍隊傳遞情報的環節中。其原理只是把明文的字母向後移動 k 個位置。比如k=2時,a變成c,b變成d,y則變為a,z變為b。
請據此規則編寫加密、解密的程式。
我們不妨假定只對小寫字母加密,其它的符號保持不變。
分析:加密的過程向後移動,遇到z後,再迴圈回a,這可以用 +k 取模來實現。
解密實際上就是 -k 引數的加密而已。
## 原始的加密解密
defencode
(s,k)
:## 每個字母後移 k 位
r =""for i in s:
if'a'
<= i <=
'z':
n =ord(i)
-ord
('a'
) n =
(n + k +26)
%26i =
chr(
ord(
'a')
+ n)
r += i
return r
defdecode
(s,k)
:return encode(s,
-k)if __name__ ==
'__main__'
:print
(encode(
'xyz ac 122 abc',2
))print
(decode(encode(
'xyz ac 122 abc',2
),2)
)
需要補基礎的,可以看:小甲魚pyhthon教程,bilibili站上還有:[耿老師]小甲魚python作業 解析系列,持續更新中。 python3安裝 Python3的安裝
1.anaconda安裝 2.安裝包安裝 3.linux下的命令列安裝 centos red hat 1 sudo yum install y sudo yum update3 sudo yum install y python35u python35u libs python35u devel p...
python3的樣子 python3 基礎
第一周 語言基礎 一 python是一門什麼樣的語言?解釋型動態型別強型別定義語言。二 python2和3的主要區別?1 python3裡可以直接預設寫中文,然後python2裡是不能直接寫的。2 python2裡print不用加括號,可直接寫字串,也可以加 python3裡printi必須要加括號...
Python3程式設計題解 校門外的樹
某校大門外長度為l的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是11公尺。我們可以把馬路看成乙個數軸,馬路的一端在數軸00的位置,另一端在ll的位置 數軸上的每個整數點,即0,1,2,l0,1,2,l,都種有一棵樹。由於馬路上有一些區域要用來建地鐵。這些區域用它們在數軸上的起始點和終止點表示。已知任...