编辑:看来我为模块使用了错误的运算符。该程序现在运行良好。谢谢大家。
在“计算入门”课程中,我必须编写用于加密和解密消息的代码。 #该程序使用两种加密方式进行加密。一种使用与ROT 13类似的方法,另一种以相反的顺序放置消息。类似于ROT 13的方法使用键31,因为我使用的是62个字符。它应该是双向加密,但是不能正常运行。它缺少正确的加密一位。例如,“ A”应更改为“ f”,但应更改为“ e”。另外,我得到的错误是
“请输入一条消息:大家好 追溯(最近一次通话): 在第16行的文件“ python”中 IndexError:字符串索引超出范围”
每当我输入'f'时。有人知道发生了什么吗?谢谢,这是代码。
characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890'
message = input('Please enter a message:')
newmessage = ''
key = (31)
for symbol in message:
if symbol.isalnum():
position = characters.find(symbol)
newposition = (position + key) & len(characters)
newcharacters = characters[newposition]
newmessage = newmessage + newcharacters
else:
newmessage = newmessage + symbol
finalmessage = newmessage
print('Your new message is ' + (finalmessage[::-1]))