Python附加不起作用

时间:2017-04-12 18:55:34

标签: python string list

我正在尝试创建一个程序来获取文本并将其更改为三位数代码。为了做到这一点,我以1或0的形式添加“大写指示符”,但是我的list.append()似乎只在输出的末尾添加了1或0:

代码:

CODE = {'A': 'aaa',     'B': 'aba',   'C': 'aca', 
        'D': 'ada', 'E': 'aab', 'F': 'abb',
        'G': 'acb', 'H': 'adb', 'I': 'aac',
        'J': 'abc', 'K': 'acc', 'L': 'adc',
        'M': 'aad', 'N': 'abd', 'O': 'acd',
        'P': 'add', 'Q': 'baa', 'R': 'bba',
        'S': 'bca', 'T': 'bda', 'U': 'bab',
        'V': 'bbb', 'W': 'bcb', 'X': 'bdb',
        'Y': 'bac', 'Z': 'bbc',

        '0': 'bcc', '1': 'bdc', '2': 'bad',
        '3': 'bbd', '4': 'bcd', '5': 'bdd',
        '6': 'caa', '7': 'cba', '8': 'cca',
        '9': 'cda',

        '+': 'cab', '-': 'cbb', '*': 'ccb',
        '/': 'cdb', '%': 'cbc', '>': 'ccc',
        '<': 'cdc',

    ' ': 'cad', '.': 'cbd', ',': 'ccd',
    """'""": 'cdd', '!': 'daa', '?': 'dba',
        }

def main():
    transmit = [];

    msg = raw_input('MESSAGE: ')
    for char in msg:
        transmit.append(CODE[char.upper()])
        if char == char.upper():
          transmit.append('1')
        else:
          transmit.append('0')

    print ''.join(transmit)


if "true" == "true":
    main()

(抱歉,无法使代码正常工作。)

这是我的输入:

Message: Hello

这是我的输出:

adbaabadcadcacd0

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

https://repl.it/HGpz/4

看起来你的代码没有正确缩进:

def main():
    transmit = [];

    msg = raw_input('MESSAGE: ')
    for char in msg:
    #         transmit.append(CODE[char.upper()])
        transmit.append(CODE[char.upper()])
        if char == char.upper():
    #     transmit.append('1')
            transmit.append('1')
        else:
    #     transmit.append('0')
            transmit.append('0')

    print ''.join(transmit)