0
codeword = input('Enter codeword : ')
codeword = codeword.lower().replace(" ", "")
for i in codeword:
    old = (Chr(ord(i)))

encrypt = input('Enter text to encrypt : ')
encrypt = encrypt.lower().replace(" ", "")
for i in encrypt:
    new = (Chr(ord(i)))

value = new + old
for i in value:
    print(Chr(ord(i)))

私はGCSEコンピューティングの暗号化と復号化を行っています。テキストをアルファベットの5文字の値(「a」は「f」になります)に暗号化するプログラムと、それを復号化するプログラムをすでに作成しています。ただし、コードワードの値をテキストに追加して新しい文字を出力するプログラムも作成する必要があります。したがって、たとえば、コードワードが「gcses」でテキストが「hello」の場合、o (7 + 8) h (3 + 5) e (19 + 12) q (5 + 12) h (19 + 15) と出力されます。 )

現時点で私が持っているコードは、漠然と正しい軌道に乗っていると信じていますが、このプログラムを実行するために 2 つの ord() 関数の値を追加できるかどうかを知りたいです。ありがとう。どんな助けでも大歓迎です。

4

1 に答える 1

0

これを行う最も簡単な方法は、文字番号を見つけるためにアルファベットを含む検索文字列を追加することです...

alphabet = ' abcdefghijklmnopqrstuvwxyz'
print alphabet.find('b')
# prints '2'
print alphabet[alphabet.find('g') + alphabet.find('h')]
# prints 'o' as expected.

ただし、オーバーフローを処理する必要があります (%26 で動作します)。

于 2016-02-15T14:46:51.640 に答える