天天看點

Python字元串連接配接,恺撒加密

用 + 可以連接配接字元串

“hello” + “python”

#“連接配接符”.join(序列)

ls = [ "apple","pear","peach","banana"]	#清單
s = "+",join(ls)
print(s)

ls1 = ("apple","pear","peach","banana")	#元組
s1 = "-",join(ls1)
print(ls)

ls2 = {"apple","pear","peach","banana"}	#集合
s2 = ",",join(ls2)
print(s2)

ls3 = {"apple":1,"pear":2,"peach":3,"banana":4}
s3 = ":",join(ls3)
print(s3)
           

字元映射和轉換 maketrank( ) 和 translate( )

字元串對象的 maketrans() 方法用來生成字元映射表,而 translate() 方法用來根據映射表中定義的對應關系轉換字元串并替換其中的字元,使用這兩個方法的組合可以同時處理多個字元。

#建立映射表
table = "".maketrank("landef","123456")
s = "python is a great language"
s1 = s.translate(table)
print(s1)
           

import string

string.digits

‘0123456789’

string.punctuation

‘!"#$%&’()*+,-./:;<=>[email protected][\]^_`{|}~’

string.ascii_letters

#‘abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ’

string.ascii_lowercase

#‘abcdefghijklmnopqrstuvwxyz’

string.ascii_uppercase

#‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’

random.choice( seq )方法-----傳回一個清單,元組或字元串的随機項

import random
print(random.choice([1, 2, 3, 5, 9]))
           

執行個體—凱撒加密】:每個字母替換為後面第k個。

提示:用maketrans()和translate()

import string
lower = string.ascii_lowercase
print(lower)
upper = string.ascii_uppercase
print(upper)
before = string.ascii_letters
print(before)
k = int(input("請輸入密鑰:"))
after = lower[k:] + lower[:k] + upper[k:] + upper[:k]
table = "".maketrans(before, after)
plaintext = input("輸入要加密的明文:")
ciphertext = plaintext.translate(table)
print("加密後的密文為:", ciphertext)