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

时间:2015-06-19 16:23:03

标签: python string 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)

1 个答案:

答案 0 :(得分:0)

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

如果预期输出是在字符串中输入的字符的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)
相关问题