我製作了一個莫爾斯電碼翻譯器,您可以在其中放入一個字母來打印出相應的代碼,反之亦然。但是,該程序一次僅限於接受一個字母。我怎樣才能讓它接受一個字?這裏是我的代碼:將一個字拆分爲字母,這樣字母就會成爲字典中的一個關鍵字。 [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'時,它打印出來:-... --- -.--但是當我試圖輸入-... --- -.--時,它不斷打印出「不好」。
任何人都可以告訴我我哪裏出錯了?
空格和數字怎麼樣? –