溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python之信息加密題目詳解

發(fā)布時間:2020-08-27 07:12:04 來源:腳本之家 閱讀:341 作者:risuinazoo 欄目:開發(fā)技術(shù)

1.貼題

題目來自PythonTip

信息加密

給你個小寫英文字符串a(chǎn)和一個非負(fù)數(shù)b(0<=b<26), 將a中的每個小寫字符替換成字母表中比它大b的字母。這里將字母表的z和a相連,如果超過了z就回到了a。

例如a=”cagy”, b=3,

則輸出 :fdjb

2.說明

考察點

  1. 英文字母與數(shù)字的轉(zhuǎn)換
  2. 如果超過z的處理

3.參考代碼

c = "" #定義空字符串c用于存放加密后的字符串
for j in a: #遍歷字符串a(chǎn)中的每一個英文小寫字母
if ord(j)+b < 124: #判斷加密后是否不超過z
c += chr(ord(j)+b) #如果不超過則直接添加
else:
c += chr(ord(j)+b-26) #否則添加回到開頭的字母
print(c) #打印加密后的字符串

4.其他寫法

1.取余法

print ''.join([chr(ord('a')+(ord(x)+3-ord('a'))%26) for x in a])

2.構(gòu)造法

def conve(a,b):
low_set='abcdefghijklmnopqrstuvwxyz'*2
res=''
for x in a:
res+=low_set[low_set.index(x)+b]
return res
a=conve(a,b)
print a

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI