これまでのことを投稿することから始めて、何が起こっているのかをお話しします...
osalt = ".,!? ABCDEFGHIJKLMNOPQRSTUVWXYZ"
def decode():
int = 0
counter = 0
msg = requestString("What would you like Decoded?").upper()
print "Now decoding, '"+msg+"'."
print "==========Please Wait=========="
while (int < len(osalt)):
dmsg = ""
nsalt = ""
int += 1
int2 = 0
shift = int-1
while int2 <= len(osalt):
if int2+shift < len(osalt):
nsalt += osalt[int2+shift]
else:
nsalt += osalt[int2+shift-len(osalt)-1]
int2 += 1
for letter in msg:
index = nsalt.find(letter)
dmsg += nsalt[index]
print dmsg
counter += 1
print counter
decode()
これが行うことになっているのは、エンコードされたメッセージがデコードされたときに可能性のある 31 の可能性のリストです。エンコードされたメッセージを入力すると、一度に 1 文字ずつソルトを移動して通過します...したがって、2 番目のソルトは次のようになります:「Z.,!? ABCDEFGHIJKLMNOPQRSTUVWXY」
私が抱えている問題は、塩をまったく動かしておらず、入力を31回印刷してしまうという事実です。
私は自分のコードを何度も見直しましたが、それを実行する方法がわかりません。
ありがとう。