import numpy as np
#加密函数
def Encrypt(P,key):
P= list(P)
P= map(ord,P)
P= np.array(P)
P=P-ord('a')
C= (P + key)%26
C= C + ord('A')
C= list(C)
C= map(chr,C)
return ''.join(C)
#解密函数
def Decrypt(C,key):
C=map(ord,C)
C=np.array(C)
C=C -ord('A')
p=(C-key)%26
p=p+ord('a')
p= list(p)
p= map(chr,p)
return''.join(p)
#加密请按E,解密请按D
user_input=raw_input('E or D:');
#输入合法性判断
while(user_input!='E' and user_input!='D'):
user_input=raw_input('Input error, please reenter:')
key=raw_input('Please enter the key:')
while(int(key.isdigit()==0)):
key=raw_input('Input error,key is number, please reenter:')
if user_input=='E':
#加密过程
P=raw_input('Please enter a Plain Text:')
C=Encrypt(P,int(key))
print 'Ciphertext:%s' % C
else:
#解密过程
C=raw_input('Please enter a Ciphertext:')
P=Decrypt(C,int(key))
print 'Plain Text:%s' % P