我正在尝试创建一个程序来获取文本并将其更改为三位数代码。为了做到这一点,我以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
任何帮助将不胜感激!
答案 0 :(得分:0)
看起来你的代码没有正确缩进:
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)