将 ascii 字符字符串转换为其 ascii 数字并将其分配给变量



我正在尝试将用户输入的任何内容转换为ascii数字,但使用此方法似乎不起作用,我不知道问题是什么?

message = input ("Enter message to be encrypted: ")
message_numbers = ""
for i in message:
    message_numbers1 = [ord(c) for c in message]
    message_numbers = message_numbers + message_numbers1
print (message_numbers)

首先,你不需要遍历消息,然后使用列表理解再次迭代消息,坚持一个。

如果预期的输出是在字符串中作为输入输入的字符的 ascii 数字,那么您缺少将 ascii 数字列表转换为字符串,为此您可以使用 string.join 函数 -

message = input ("Enter message to be encrypted: ")
message_numbers1 = [ord(c) for c in message]
message_numbers = message_numbers + ''.join(map(str, message_numbers1))
print (message_numbers)

请注意,join函数的输入是字符串的可迭代list_like,因此我使用 map 将message_numbers1转换为字符串。

如果 message_numbers1 不会在其他任何地方使用,您也可以直接在其中创建字符串,如下所示 -

message_numbers1 = [str(ord(c)) for c in message]

在这种情况下,您可以直接使用 -

message_numbers = message_numbers + ''.join(message_numbers1)

相关内容

  • 没有找到相关文章

最新更新