擅长:python、mysql、java
<pre><code>def split_len(seq, length):
return [seq[i:i + length] for i in range(0, len(seq), length)]
def encode(key, plaintext):
order = {
int(val): num for num, val in enumerate(key)
}
ciphertext = ''
for index in sorted(order.keys()):
for part in split_len(plaintext, len(key)):
try:
ciphertext += part[order[index]]
except IndexError:
continue
return ciphertext
print(encode('3214', 'IHAVETWOCATS'))
#>>> HTAAWTIECVOS
</code></pre>
<p><code>split_len</code>是由Ian Bicking写的</p>
<p>因此,我用<code>split_len</code>将代码分成块,然后使用字典理解来获得正确的索引顺序,最后按照该顺序来计算字母。</p>