1.貼題
題目來自PythonTip
信息加密
給你個小寫英文字符串a和一個非負數b(0<=b<26), 將a中的每個小寫字符替換成字母表中比它大b的字母。這里將字母表的z和a相連,如果超過了z就回到了a。
例如a=”cagy”, b=3,
則輸出 :fdjb
2.說明
考察點
- 英文字母與數字的轉換
- 如果超過z的處理
3.參考代碼
c = "" #定義空字符串c用于存放加密后的字符串 for j in a: #遍歷字符串a中的每一個英文小寫字母 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.構造法
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
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
