如何从数组

时间:2015-11-13 12:05:55

标签: python encryption

    keyword = raw_input ("Enter your keyword") *10000
keyword = keyword.lower()
keywordoutput = []
for character in keyword:
    number = ord(character) 
    keywordoutput.append(number)


input1 = raw_input('Write Text: ')
input1 = input1.lower()
output1 = []
for character in input1:
    number = ord(character)
    output1.append(number)


output2 = [x + y for x, y in zip(output1, keywordoutput)]
print output2

到目前为止,这是我的代码。我正在尝试创建一个程序,使用简单的Vigenere Cypher来加密输入的文本。代码工作得很好,但是我遇到了一个问题,即在返回一串'output2'时使用新代码。

我很容易得到'output2',但是从那里我需要把它变成一个简单的字符串。 例如:[1,2,3,4]  变成(1234)

我试过了,但我似乎无法在我的代码中实现这样的东西。

3 个答案:

答案 0 :(得分:2)

首先,您必须将数字转换为文本。

output2 = map(str, output2)

然后您可以使用join来连接元素。

print "".join(output2)

或者在一行中:

print "".join(map(str, output2))

答案 1 :(得分:0)

一步使用 - > join

output2 = ''.join([str(x + y) for x, y in zip(output1, keywordoutput)])

检查:https://docs.python.org/2/library/string.html#string.join

由于该函数需要string类型,因此您必须隐藏数字结果x + y

答案 2 :(得分:0)

试试这个

print ''.join(str(i) for i in output2)