在我的课程中,我有这个:
decrypt=input("Please enter the key you used to encrypt the above text: ")
key="".join(map(str,[ord(d) for d in decrypt]))
print(key)
根据输入打印,但例如我的将是:
1207356100604112383
但我需要这样:
[120, 73, 56, 100, 60, 41, 123, 83]
我怎么能这样呢?
一旦完成,我需要程序将它们加在一起,将结果除以8,向下舍入为整数,然后减去32。
答案 0 :(得分:2)
不要join
。使用map
list
对象
>>> decrypt=input("Please enter the key you used to encrypt the above text: ")
Please enter the key you used to encrypt the above text: hello
>>> key=(map(str,[ord(d) for d in decrypt]))
>>> print(list(map(int,key)))
[104, 101, 108, 108, 111]
更好的方法是将列表理解保持为
>>> key = [ord(d) for d in decrypt]
>>> print(key)
[104, 101, 108, 108, 111]
通过这种方式,您无需使用任何map
,str
来电等。
为您的例子
>>> decrypt=input("Please enter the key you used to encrypt the above text: ")
Please enter the key you used to encrypt the above text: xI8d<){S
>>> key = [ord(d) for d in decrypt]
>>> key
[120, 73, 56, 100, 60, 41, 123, 83]
或者如果你坚持map
>>> key = map(ord,decrypt)
>>> print(list(key))
[120, 73, 56, 100, 60, 41, 123, 83]