<p>我对Python编程(以及一般编程)还比较陌生,我们被要求开发一个函数,通过重新排列文本来加密字符串。我们得到这个作为测试:</p>
<pre><code>encrypt('THE PRICE OF FREEDOM IS ETERNAL VIGILENCE', 5)
'SI MODEERF FO ECIRP EHT ECNELIGIV LANRETE'
</code></pre>
<p>我们必须确保它适用于任何长度的弦。在被卡住之前我已经做到了:</p>
<pre><code>##Define encrypt
def encrypt(text, encrypt_value):
##Split string into list
text_list = text.split()
##group text_list according to encrypt_value
split_list = [text_list[index:index+encrypt_value] for index in xrange\
(0, len(text_list), encrypt_value)]
</code></pre>
<p>如果我现在打印结果,这将给我:</p>
<pre><code>encrypt("I got a jar of dirt and you don't HA", 3)
[['I', 'got', 'a'], ['jar', 'of', 'dirt'], ['and', 'you', "don't"], ['HA']]
</code></pre>
<p>所以我需要将列表中的每个列表组合成一个字符串(我认为是''连接(文本)?),用[::-1]反转它,然后将整个东西连接到一个字符串中。但我该怎么做呢?你知道吗</p>
<pre><code>b = [['I', 'got', 'a'], ['jar', 'of', 'dirt'], ['and', 'you', "don't"], ['HA']]
print "".join([j[::-1]+' ' for i in b for j in reversed(i)])
a tog I trid fo raj t'nod uoy dna AH
</code></pre>
<p>这就是你想要的。。。你知道吗</p>