Python 我需要删除此程序中的空白,以便加密/解密工作

Python 我需要删除此程序中的空白,以便加密/解密工作,python,whitespace,Python,Whitespace,例如,此代码输出: 加密消息: J65+~5+~=~*9+* 解密消息: T~h~i~s~~i~s~~a~~T~e~s~T …由于解密方法将空格视为“~” from collections import defaultdict e1 = {} e2 = {} e3 = {} d3 = {} d2 = {} d1 = {} print "Would you like to encrypt 'e' or decrypt 'd' a message?" count = 1 while count

例如,此代码输出:

加密消息: J65+~5+~=~*9+*

解密消息: T~h~i~s~~i~s~~a~~T~e~s~T

…由于解密方法将空格视为“~”

from collections import defaultdict

e1 = {}
e2 = {}
e3 = {} 
d3 = {}
d2 = {}
d1 = {}

print "Would you like to encrypt 'e' or decrypt 'd' a message?"
count = 1
while count >= 1:
    eod = raw_input("> ")
    if eod in ("Encrypt", "encrypt", "e", "E"):
        print "Enter your message here:"
        emessage_in = raw_input("> ")
        elength = len(emessage_in)
        elistm = list(emessage_in)
        for x in range(0, elength):
            e1[x] = elistm[x]
            e2[x] = ord(e1[x])
            e3[x] = 158 - e2[x]
            emessage_out = chr(e3[x])
            print emessage_out,
            count = 0
    elif eod in ("Decrypt", "dencrypt", "d", "D"):
        print "Enter your message here:"
        dmessage_in = raw_input("> ")
        dlength = len(dmessage_in)
        dlistm = list(dmessage_in)
        for y in range(0, dlength):
            d3[y] = dlistm[y]
            d2[y] = ord(d3[y])
            d1[y] = 158 - d2[y]
            dmessage_out = chr(d1[y])
            print dmessage_out,
            count = 0
    else:
        print "Please type 'e' or 'd':"
        count += 1

您是否相信我花了十分钟的故障排除时间才意识到您正在循环调用
print
添加/修改的行将被注释

if eod in ("Encrypt", "encrypt", "e", "E"):
    print "Enter your message here:"
    emessage_in = raw_input("> ")
    elength = len(emessage_in)
    elistm = list(emessage_in)
    emessage_out = '' # initialize an empty string
    for x in range(0, elength):
        e1[x] = elistm[x]
        e2[x] = ord(e1[x])
        e3[x] = 158 - e2[x]
        emessage_out += chr(e3[x]) # concatenate each character onto that string
        count = 0
    print emessage_out # move this out of the loop
elif eod in ("Decrypt", "dencrypt", "d", "D"):
    print "Enter your message here:"
    dmessage_in = raw_input("> ")
    dlength = len(dmessage_in)
    dlistm = list(dmessage_in)
    dmessage_out = '' # initialize an empty string
    for y in range(0, dlength):
        d3[y] = dlistm[y]
        d2[y] = ord(d3[y])
        d1[y] = 158 - d2[y]
        dmessage_out += chr(d1[y]) # concatenate each character onto that string
        count = 0
    print dmessage_out # move this out of the loop

我已经试过了,它可以在控制台中工作,但是当我把它添加到代码中时就不行了!事实证明,您不需要删除空白,而是首先避免打印它。查看编辑后的答案。非常感谢您花时间运行我的代码(即使只有10分钟)!!!我真的很感激。我几周前才开始学习Python,所以有时我会遇到一些问题,而这些问题仅仅通过观察其他人的类似问题是无法解决的。