-1

使用这个程序取出空格、标点符号,并使字母小写...

def pre_process(s):
    s= s.replace("'","")
    s= s.replace('.','')
    s= s.lower()
    s= s.replace(" ","")
    return s

如何加密消息,使每个字母移动的量等于字母表中相应的字母?例如)'m' 移位 5 变为 'r' 但 'w' 移位 5 变为 'b'?

4

2 回答 2

1

你必须做一些ordchr技巧来做你想做的事。基本上,这两个函数返回字母的整数表示,并分别输出整数表示的对应字母。

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
于 2015-02-27T05:32:05.187 回答
0

这可能对您有帮助...只需更改 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)
于 2015-02-27T05:50:34.063 回答