2017-07-06 41 views
-7

我做了使用python这里翻译是代码:我的翻译员出了什么问题? (蟒蛇)

def answer(plaintext): 
    words = {"a":100000,"b":110000,"c":100100,"d":100110,"e":100010,"f":110100,"g":110110,"h":110010,"i":010100"j":010110,"k":101000,"l":111000,"m":101100,"n":101110,"o"101010:,"p":111100,"q":111110,"r":111010,"s":011100,"t":011110,"u":101001,"v":111001,"w":010111,"x":010111,"y":101011,"z":101011} 
input = "j, o, s, e" 
inputList = input.split(',') 
for word in inputList: 
    print words[word] 

的语法错误是第2行

+0

请将代码放入代码块以提高可读性 –

+0

当我尝试将代码放入代码块时出现错误 – Jose

+2

您错过了“o”和101010之间的冒号以及010100和“j”之间的逗号 –

回答

1

我假设你想要的东西,如:

def answer(plaintext): 
    words = {"a":'100000',"b":'110000',"c":'100100',"d":'100110',"e":'100010',"f":'110100',"g":'110110',"h":'110010',"i":'010100',"j":'010110',"k":'101000',"l":'111000',"m":'101100',"n":'101110',"o":'101010',"p":'111100',"q":'111110',"r":'111010',"s":'011100',"t":'011110',"u":'101001',"v":'111001',"w":'010111',"x":'010111',"y":'101011',"z":'101011'} 
    inputList = plaintext.split(',') 
    for word in inputList: 
     print words[word] 

text = "j,o,s,e" 
answer(text) 

你在你的dict有一堆错别字,注意追踪,它告诉你到底发生了什么错误。你也从来没有真正地调用你定义的函数。你可能希望你的dict值也是字符串。

+0

你测试了代码吗?它不会像用户想要的那样工作,因为在Python2中打印“011100”时,您会得到4672,因为在Python2中以0开头的整数被解释为八进制数。一件好事是将所有值转换为字符串。 –

+0

是的,我评论说。我很快就会编辑我的答案,我正在使用移动设备,并且添加报价将是一个巨大的痛苦。 –

+0

我正在尝试制作二进制翻译的盲文,因为我被邀请访问Google foo.bar。 – Jose