私はPythonで暗号化ツールを作っていますが、その処理の一部は、各位置を暗号化された位置に再割り当てすることです。コードは、これは、このコードによって実現され、各文字で暗号化を実行するためのものです:forループが十分にループしていない - Python
for pos in range (0, len(plaintext)-1):
print("pos is %s" % (pos))
次のコードは無関係でなければなりませんが、供給することができます。 このコードが実行されると、出力され、Iは「-1」の部分を削除した場合、ループは決して3である「平文」の長さにもかかわらず、2に到達しない
は(長さとして含ま
pos is 0
pos is 1
と最終位置が同じではない)、次のコードが範囲外であるというエラーが発生しました(私の目の次のコードは変更する必要はありませんが、提供することができます)。
誰でも問題を理解したり説明したりできますか?
パイソン2.7.11 のWindows 8.1
EDIT:
コードループの開始後、以下の通りである、
for pos in range (0, len(plaintext)-1):
print("pos is %s" % (pos))
for k in range (0, key):
if(plaintext[pos] == "z"):
crypt = "%s%s%s" % (crypt[:pos], "a", crypt[pos+1:])
else:
crypt = "%s%s%s" % (crypt[:pos], abc[abc.index(plaintext[pos])+1], crypt[pos+1:])
誤差[によるスライスが 陰窩さまで上昇させましたpos + 1:]
2.7.11の位置に割り当てることができないため、私の回避策は連結することでした新しく暗号化された鍵の周りの私の位置の「側」かどちらかです。
あなたがこの助けを望むならば、私たちは 'plaintext'を表示します。 – jacoblaw
' range() 'は' stop'値を含まないので、 'range(len(plaintext))'で十分です。注: 'for pos、列挙型の文字列(平文):'おそらく良いでしょう。 – AChampion
'range(len(plaintext))' –