我无法让我的python加密程序正常工作

时间:2015-11-11 18:02:46

标签: python encryption caesar-cipher

我已经看过其他加密文本的程序,但是它们往往很长 - 而且我对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)

1 个答案:

答案 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)