回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在尝试构建一个基本的编码器和解码器来学习一些Python。这就是我目前的代码:</p>
<pre><code>import time
def mainSub():
sString = input('Please enter a string:')
sChoose = input('Would you like to [e]ncrypt or [d]ecrypt?:')
encrypts = ["a","362","b","637","c","391","d","678","e","912","f","718","g","461","h","888","i","123","j","817","k","571","l","111","m","036","n","182","o","951","p","711","q","500","r","125","s","816","t","183","u","619","v","678","w","911","x","719","y","567","z","678"," ","-"]
if sChoose == "e":
for x in range(0, len(encrypts)):
sOutput = sString
sOutput = sOutput.replace(encrypts[x], encrypts[x+1])
elif sChoose == "d":
for x in range(0, len(encrypts)):
sOutput = sString
sOutput = sOutput.replace(encrypts[x+1], encrypts[x])
else:
print("You did not choose for encrypt or decrypt. Please only enter e or d.")
print(sOutput)
while True:
mainSub()
</code></pre>
<p>但是,每当控制台应替换为以下错误时,它就会中止:</p>
<pre><code>Traceback (most recent call last):
File "C:/Users/Max/Desktop/test.py", line 20, in <module>
mainSub() File "C:/Users/Max/Desktop/test.py", line 10, in mainSub
sOutput = sOutput.replace(encrypts[x], encrypts[x+1])
IndexError: list index out of range
</code></pre>
<p>我找不到错误。有人能帮我吗?你知道吗</p>