使用这个程序取出空格、标点符号,并使字母小写...
def pre_process(s):
s= s.replace("'","")
s= s.replace('.','')
s= s.lower()
s= s.replace(" ","")
return s
如何加密消息,使每个字母移动的量等于字母表中相应的字母?例如)'m' 移位 5 变为 'r' 但 'w' 移位 5 变为 'b'?
使用这个程序取出空格、标点符号,并使字母小写...
def pre_process(s):
s= s.replace("'","")
s= s.replace('.','')
s= s.lower()
s= s.replace(" ","")
return s
如何加密消息,使每个字母移动的量等于字母表中相应的字母?例如)'m' 移位 5 变为 'r' 但 'w' 移位 5 变为 'b'?
你必须做一些ord
和chr
技巧来做你想做的事。基本上,这两个函数返回字母的整数表示,并分别输出整数表示的对应字母。
def pre_process(s):
s= s.replace("'","")
s= s.replace('.','')
s= s.lower()
s= s.replace(" ","")
mystring = ""
for letter in s:
shift = 5
r = ord(letter)+shift
if (r > ord('z')):
r -= 26
mystring += (chr(r))
return mystring
这可能对您有帮助...只需更改 encrypt 函数中 shifter 的值即可获得相应的移位
def shift(char,shift_by):
val=ord(char) #gives ascii value of charecter
val+=shift_by
if(val>122):
val=97+(val-122-1)
return(chr(val))
def encrypt_string(str):
shifter=2 #change to value of shifter here
encrypted_string=""
for i in str :
if( (ord(i)>=97) and (ord(i)<=122) ):
i=shift(i,shifter)
encrypted_string+=i
return(encrypted_string)