# 大写字母表
AlphaBet =["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]# 小写字母表
alphaBet =["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]# 作为密码本使用的字母表
AlphaBet1 =["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]# 输入密钥和密文
key =list(input("输入密钥:"))
miwen =input("输入密文:")# 这是作为处理后的密钥使用
keyf =[]
mingwen =""# 将key中重复的字母删除defchuli_key():
x =0for i in key:
z =0
x =0for a in key:if i == a:
x = x +1if x ==2:
key.pop(z)
x =0
z +=1print(key)#将key加入到密码表中defadd_key():
i =0while i <len(key):
AlphaBet1[i]= key[i]
i +=1
k =len(key)
j =0# 将余下的位置用与KEY不重复的字母顺序填充for i in AlphaBet:if key.count(i)==0:
AlphaBet1[k]= i
k +=1# 将key中重复的字母删除
chuli_key()# 将key加入到密码表中
add_key()# 判断字母大小写for i in miwen:if i.isspace()==True:
mingwen = mingwen +' 'continueelse:iford(i)<=ord("Z"):
mingwen = mingwen + alphaBet[AlphaBet1.index(i)]eliford(i)>=ord("a"):
mingwen = mingwen + AlphaBet1[alphaBet.index(i)]print(key)print(alphaBet)print(AlphaBet)print(AlphaBet1)print(mingwen)input("按任意键退出")