我已经看过其他加密文本的程序,但是它们往往很长 - 而且我对python来说相对较新。我已经开始加密某些东西了(这很简单)我可以将每个角色变成ASCII,它的值会改变然后再转回来。但是当我运行代码时,列表中只显示最后一个字符,为什么这样做我做错了什么?
message = input('What should I encrypt? ')
for i in range(len(message)):
num = ord(message[i])
num += 3
Chr = chr(num)
Message = []
Message.append(Chr)
print(Message)
答案 0 :(得分:2)
message = input('What should I encrypt? ')
secret = []
for i in range(len(message)):
num = ord(message[i])
num += 3
secret.append(chr(num))
print(secret)
您在每次迭代中反复重新定义Message
(在我的代码secret
中),因此当for
- 循环结束时,您只获得了最后一个字符。在for循环之前移动Message = []
可以解决问题。
您可以直接遍历字符串中的字符(当您不需要索引时),例如for char in message: do_stuff()
。
此处示例:
message = input('What should I encrypt? ')
secret = []
for char in message:
num = ord(char) + 3
secret.append(chr(num))
print(secret)