在我的python程序中,我生成一个数字列表,如下所示:
gen1=(random.sample(range(33,126), 8))
conv=(gen1[0:])
然后该列表将转换为chr,如下所示:
chr="".join([chr(i) for i in conv])
例如,打印结果如下所示:
`&+hs,DY
现在我的问题是,我如何将其转换回以后在我的程序中'conv'的方式,用户输入生成的密钥,我的程序需要对其进行反向工程以计算某些东西,我试过这个:
InPut=input("Please enter the key you used to encrypt the above text: ")
ord_key="".join([ord for d in InPut])
但如果之前生成的密钥中有数字,则无效 请帮帮我
答案 0 :(得分:0)
你没有正确地调用ord
,这应该是:
InPut=input("Please enter the key you used to encrypt the above text: ")
ord_key="".join(map(str,[ord(d) for d in InPut]))
如果你想将'&+hs,DY
仅仅map
chr反转给它:
reversed = map(chr, "`&+hs,DY")
如果您使用python 3.x将其转换为列表:
reversed = list(map(chr, "`&+hs,DY"))