Caesar Cipher Python数字和字符

时间:2018-03-04 18:30:12

标签: python caesar-cipher

我是Python的新手,我正在尝试创建一个Caesar Cipher。到目前为止,我一直在使用自己的Python知识和一些在线资源,我已经设法提出下面的代码。

我希望程序能够同时获取数字和文本值并将它们移动13和5.最初,在测试文本值时,程序似乎可以工作,但在添加代码以包含数字之后它就停止了工作。 / p>

现在,它不会输出任何内容。

我已经包含了代码,我正在使用IDLE 3.6     key ='abcdefghijklmnopqrstuvwxyz'

def encrypt(n, plaintext):
    """Encrypt the string and return the ciphertext"""
    result = ''

    for l in plaintext.lower():
        try:
            i = (key.index(l) + n) % 26
           result += key[i]
       except ValueError:
            result += l

    return result.lower()


def decrypt(n, ciphertext):
    """Decrypt the string and return the plaintext"""
       result = ''

    for l in ciphertext:
        try:
            i = (key.index(l) - n) % 26
            result += key[i]
         except ValueError:
           result += l

   return result


def show_result(plaintext, n):
     """Generate a resulting cipher with elements shown"""
       encrypted = encrypt(n, plaintext)
    decrypted = decrypt(n, encrypted)

    print 'Rotation: %s' % n
    print 'Plaintext: %s' % plaintext
     print 'Encrytped: %s' % encrypted
     print 'Decrytped: %s' % decrypted

0 个答案:

没有答案