Python 简易围栏破译器

Python 简易围栏破译器,python,Python,我的任务是使用一种简单的技术创建加密。我正在努力创造下半部分来破译信息 phrase = 'It is a period of civil war' odd = '' even = '' for i,ch in enumerate(phrase): if i % 2 == 0: even += ch else: odd += ch ciphertext = even + odd 在我找到解决方案之前,一定要确保你对你所面临的困难有自己的想法&

我的任务是使用一种简单的技术创建加密。我正在努力创造下半部分来破译信息

phrase = 'It is a period of civil war'
odd = ''
even = ''

for i,ch in enumerate(phrase):
    if i % 2 == 0:
        even += ch
    else:
        odd += ch

ciphertext = even + odd

在我找到解决方案之前,一定要确保你对你所面临的困难有自己的想法&确切地说明你在哪里遇到了问题。
目前,根据您的代码,您的围栏加密密钥似乎是2。确保在代码或描述中的某个地方提到这一点。

无论如何,如果你分析密文,我们可以先把密文分成两部分,然后把第一部分的字符和第二部分的字符加在一起,重新构建原始文本。所以在这个例子中,
I sapro fcvlwrti eido ii a
是密文。将其分为两个相等(或几乎相等)的部分,
I sapro fcvlwr
&
ti eido ii a
现在只需在前半部分添加第一个字符,在后半部分添加第二个字符。您只需要处理密文为奇数或偶数的情况

def decipher(ciphertex):
    originalText = ''
    size = len(ciphertext)

    for i in range((size)//2):
        originalText  += ciphertext[i] + ciphertext[size//2 + i + (size%2)]

    if(size%2==1):
        originalText += ciphertext[size//2]

    return originalText

大家好,欢迎来到StackOverflow!您介意编辑您的帖子并向我们展示您迄今为止的尝试吗?嗨,丹尼尔,我能够创建邮件,我知道正确的方法是颠倒步骤,目前我拆分邮件,但我不知道如何打印其他每封信来打印原始邮件