我的 python 加密程序无法正常工作
I can't get my python encryption program to work properly
我见过其他加密文本的程序,但是它们往往很冗长 - 而且我对 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)
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)
我见过其他加密文本的程序,但是它们往往很冗长 - 而且我对 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)
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)