-3
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)))
for i in encrypt:
    out = ord(old) + ord(new) -96 
print(chr(out))

上記はこれまでの私の完全なコードです。ただし、コードワードと暗号化の両方に「hi」を入力すると、表示されるのは「r」だけです。考えられるすべてを試したので、誰かが私の間違いを指摘できますか?エラーが for ループ内にあることはかなり確信していますが、「for i in encrypt + codeword」を実行すると、「r」がまだ出力されます。 . 一度説明するとこんなに単純なものが、これほど多くの困難を抱えているとは知りませんでした。

どうもありがとう。

コードを編集して以下に示しましたが、まだ苦労しています。これを知っている人がたくさんいることは知っていますが、私は初心者です。調査を試みましたが、何も見つかりませんでした

codeword = input('Enter codeword : ')
codeword = codeword.lower().replace(" ", "")
old = codeword[-1]

encrypt = input('Enter text to encrypt : ')
encrypt = encrypt.lower().replace(" ", "")
new = encrypt[-1]
for i in new:
    print(chr(ord(old)+ ord(new)-96))

*もう一度、さらに編集を行って、for loop目的に十分近いプログラムを作成しましたが、わずかな問題があり、2 回印刷されます。

codeword = input('Enter codeword : ')
codeword = codeword.lower().replace(" ", "")

encrypt = input('Enter text to encrypt : ')
encrypt = encrypt.lower().replace(" ", "")

for i in codeword+encrypt:
    print(chr(ord(i)+ ord(i)-96))

残念ながら、コードワードと暗号化の両方に「hi」を指定すると、p r p r と出力されます。

4

1 に答える 1

1

あなたの問題は、3 番目の for ループには存在しません。最初の 2 つに存在します。codeword古いものと新しいものをandの最後の文字に設定していencryptます。次に、3 番目の暗号化をループします。の値は1つしかないためoldnew同じ操作length of encrypt時間を実行すると、1文字またはエラーが発生する可能性があります。

codeword = input('Enter codeword : ')
codeword = codeword.lower().replace(" ", "")

old = codeword[-1]
print (old)

encrypt = input('Enter text to encrypt : ')
encrypt = encrypt.lower().replace(" ", "")

new = encrypt[-1]
print (new)

for i in encrypt:

    out = ord(old) + ord(new) - 96
    print (out, old, new, i) 
print(chr(out))

Enter codeword : Hello
o

Enter text to encrypt : Hello
o

126 o o h
126 o o e
126 o o l
126 o o l
126 o o o

~

あなたが問題を説明していないので、私にできることはこれ以上ありません。

于 2016-02-15T18:12:10.133 に答える