我制作了一个莫尔斯电码翻译器,您可以在其中放入一个字母来打印出相应的代码,反之亦然。但是,该程序一次仅限于接受一个字母。我怎样才能让它接受一个字?这里是我的代码:将一个字拆分为字母,这样字母就会成为字典中的一个关键字。 [Python]
MorseCode = {'.-':'A',
'-...':'B',
'-.-.':'C',
'-..':'D',
'.':'E',
'..-.':'F',
'--.':'G',
'....':'H',
'..':'I',
'.---':'J',
'-.-':'K',
'.-..':'L',
'--':'M',
'-.':'N',
'---':'O',
'.--.':'P',
'--.-':'Q',
'.-.':'R',
'...':'S',
'-':'T',
'..-':'U',
'...-':'V',
'.--':'W',
'-..-':'X',
'-.--':'Y',
'--..':'Z',
'.----':1,
'..---':2,
'...--':3,
'....-':4,
'.....':5,
'-....':6,
'--...':7,
'---..':8,
'----.':9,
'-----':0
}
letters_to_morse = {letter: code for code, letter in MorseCode.items()}
print "Type 'help' for the morse code."
print "Type 'end' to exit the program.\n"
while True:
code = raw_input("Enter code:")
if code in MorseCode:
print MorseCode[code]
elif code in letters_to_morse:
print letters_to_morse[code]
的问题是:有没有把一个词的方式和分裂这个词来每个字母所以每个字母将成为一个关键的字典打印出来的价值? 例如:'boy'这个词会被分成'b','o','y',然后程序会打印出来:-... ----.--
我试过了远:
MorseCode = {'.-':'A',
'-...':'B',
'-.-.':'C',
'-..':'D',
'.':'E',
'..-.':'F',
'--.':'G',
'....':'H',
'..':'I',
'.---':'J',
'-.-':'K',
'.-..':'L',
'--':'M',
'-.':'N',
'---':'O',
'.--.':'P',
'--.-':'Q',
'.-.':'R',
'...':'S',
'-':'T',
'..-':'U',
'...-':'V',
'.--':'W',
'-..-':'X',
'-.--':'Y',
'--..':'Z',
'.----':1,
'..---':2,
'...--':3,
'....-':4,
'.....':5,
'-....':6,
'--...':7,
'---..':8,
'----.':9,
'-----':0
}
Inverse_Dictionary = {v:k for k,v in Dictionary.iteritems()}
while True:
x = raw_input("Enter:")
for letter in list(x):
if letter in Dictionary:
print (Dictionary[letter])
elif letter in Inverse_Dictionary:
print(Inverse_Dictionary[letter])
else:
print("Not good")
它工作。当我输入'BOY'时,它打印出来:-... --- -.--但是当我试图输入-... --- -.--时,它不断打印出“不好”。
任何人都可以告诉我我哪里出错了?
空格和数字怎么样? –