Python 2.7 在python中如何将正整数列表转换为负整数?
好的,在前言中,我正在尝试编写一个加密程序,它接受一个字符串输入,使用ord()函数将每个字符转换成一个整数,然后使用伪随机生成的数字序列将其移位。它本质上是一个维格纳密码程序,我已经完全掌握了它。我只是在使用解密函数时遇到了问题,因为我不知道如何从加密的消息中减去密钥以便对其进行解密Python 2.7 在python中如何将正整数列表转换为负整数?,python-2.7,Python 2.7,好的,在前言中,我正在尝试编写一个加密程序,它接受一个字符串输入,使用ord()函数将每个字符转换成一个整数,然后使用伪随机生成的数字序列将其移位。它本质上是一个维格纳密码程序,我已经完全掌握了它。我只是在使用解密函数时遇到了问题,因为我不知道如何从加密的消息中减去密钥以便对其进行解密 def input1(): mes = raw_input('> ').upper() shiftl = [] while len(mes) > len(shiftl):
def input1():
mes = raw_input('> ').upper()
shiftl = []
while len(mes) > len(shiftl):
shiftl.append(random.randint(1,26))
return mes, shiftl
def encrypt(x,y):
h = []
for item in x:
h.append(ord(item) - 65)
e = [sum(i) for i in zip(h,y)]
return e
def decrypt(e, y):
u = [sum(i) for i in zip(e,-(y))]
d = []
for item in u:
d.append(chr(item + 65))
return d
这是我需要帮助的电话
u = [sum(i) for i in zip(e,-(y))]
我试图简单地在列表前面放一个-,但一元运算符不处理列表。那么,对于我来说,从加密邮件中减去此列表的最佳方法是什么呢?很可能我没有得到您想要的内容,但对于另一种情况:
def negList(list):
for(n in list):
n = -n
return list
list = negList(list)
抱歉,如果我弄错了。如果您有一个列表,并且希望更改内容,请使用列表理解和切片分配:
a = [1, 3, 5]
a[:] = [-1*x for x in a]
print a
其结果将是:
[-1, -3, -5]
你可以从零减去正数得到一个负数<代码>-3==0-3这绝对是我想要的,但它没有按预期工作。编写时,它返回我输入的列表,没有任何更改。我将n=-n定义为一个单独的函数,并使用.append在for循环中创建一个列表,但我得到一个满是“None”的列表