0
基本上標題解釋了這個問題,我正在寫一個基本的解密程序,用戶輸入一個已經加密的數字(指紋)和解密密鑰,然後計算出原來的3個字母的字符串。我不斷得到一個IndedxError。關於我要去哪裏的任何想法都是錯誤的?不斷收到「IndexError:列表索引超出範圍」的想法?
fingerprint = input("Enter fingerprint: ")
key = input("Enter decryption key: ")
stringList = []
firstchar = (fingerprint - key) % 33
secondchar = fingerprint - ord(stringList[0])/33 - key % 33
thirdchar = fingerprint - ord(stringList[1])/33 - key % 33
if firstchar == 0 or secondchar == 0 or thirdchar == 0 : #If any of firstchar, secondchar or thirdchar == 0 then add "c" to the list and so on.
stringList.append("c")
elif firstchar == 1 or secondchar == 1 or thirdchar == 1 :
stringList.append("d")
elif firstchar == 2 or secondchar == 2 or thirdchar == 2 :
stringList.append("e")
elif firstchar == 3 or secondchar == 3 or thirdchar == 3 :
stringList.append("f")
elif firstchar == 4 or secondchar == 4 or thirdchar == 4 :
stringList.append("g")
elif firstchar == 5 or secondchar == 5 or thirdchar == 5 :
stringList.append("h")
elif firstchar == 6 or secondchar == 6 or thirdchar == 6 :
stringList.append("i")
elif firstchar == 7 or secondchar == 7 or thirdchar == 7 :
stringList.append("j")
elif firstchar == 8 or secondchar == 8 or thirdchar == 8 :
stringList.append("k")
elif firstchar == 9 or secondchar == 9 or thirdchar == 9 :
stringList.append("l")
elif firstchar == 10 or secondchar == 10 or thirdchar == 10 :
stringList.append("m")
elif firstchar == 11 or secondchar == 11 or thirdchar == 11 :
stringList.append("n")
elif firstchar == 12 or secondchar == 12 or thirdchar == 12 :
stringList.append("o")
elif firstchar == 13 or secondchar == 13 or thirdchar == 13 :
stringList.append("p")
elif firstchar == 14 or secondchar == 14 or thirdchar == 14 :
stringList.append("q")
elif firstchar == 15 or secondchar == 15 or thirdchar == 15 :
stringList.append("r")
elif firstchar == 16 or secondchar == 16 or thirdchar == 16 :
stringList.append("s")
elif firstchar == 17 or secondchar == 17 or thirdchar == 17 :
stringList.append("t")
elif firstchar == 18 or secondchar == 18 or thirdchar == 18 :
stringList.append("u")
elif firstchar == 19 or secondchar == 19 or thirdchar == 19 :
stringList.append("v")
elif firstchar == 20 or secondchar == 20 or thirdchar == 20 :
stringList.append("w")
elif firstchar == 21 or secondchar == 21 or thirdchar == 21 :
stringList.append("x")
elif firstchar == 22 or secondchar == 22 or thirdchar == 22 :
stringList.append("y")
elif firstchar == 23 or secondchar == 23 or thirdchar == 23 :
stringList.append("z")
elif firstchar == 31 or secondchar == 31 or thirdchar == 31 :
stringList.append("a")
elif firstchar == 32 or secondchar == 32 or thirdchar == 32 :
stringList.append("b")
print join(stringList)
啊我看到現在。我該如何解決它,使其找到firstchar的值,然後將其添加到列表中,然後執行查找secondchar的操作? – user1877442 2013-02-28 22:01:44
很難給你提供建議,因爲我不知道你想要實現什麼。兩次猜測是「在計算firstchar後」用'firstchar'「和」do'stringList.append(firstchar)'替換'stringList [0]「。也許你應該問一個單獨的問題。 – 2013-02-28 22:05:49