-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

あなたがやりたいことをするためには、いくつかordのトリックをしなければなりません。chr基本的に、これら 2 つの関数は文字の整数表現を返し、整数表現の対応する文字をそれぞれ出力します。

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 に答える