3

So I am writing a program in python 2.7 that loops through all of the words in the English language to see if the Morse code version of English word matches the unknown Morse phrase. The reason I can't just interpret it is because there are no spaces between letters. This is a snippet of the code:

def morse_solver(nol,morse,words): 
#nol is the number of letters to cut down search time,morse is the Morse phrase to decode, and words is a string (or can be a list) of all english words.
    lista=_index(words)
    #_index is a procedure that organizes the input in the following way:[nol,[]]
    selection=lista[nol-1][1]
    #selects the words with that nol to loop through
    for word in selection:
        if morse_encode(word)==morse:
            print morse+"="+word

So my Question is:
It's kinda hard to find a list of all the words in the English language and copy it over into a huge string. So is there a way or some Python module to access all the words in the English dictionary by only having to type a little bit?

If such a thing doesn't exist, how can I handle such a large string? Is there some place I can copy paste from (onto just one line)? Thanks in advance

4

2 回答 2

1

python有一个字典工具,叫做附魔。看看这个线程。

如何用Python检查一个单词是否是英文单词?

于 2015-07-10T21:31:00.423 回答
1

如果你听不见摩尔斯电码有什么好玩的?如果这在 Python 2.7 中不起作用,请告诉我:

from winsound import Beep
from time import sleep

dot = 150 # milliseconds
dash = 300 
freq = 2500 #Hertz
delay = 0.05 #delay between beeps in seconds

def transmit(morseCode):
    for key in morseCode:
        if key == '.':
            Beep(freq,dot)
        elif key == '-':
            Beep(freq,dash)
        else:
            pass #ignore (e.g. new lines)
        sleep(delay)

example = '----. ----.   -... --- - - .-.. .   --- ..-.   -... . . .-.'
#This last is the first line of
#99 Bottles of Beer in Morse Code
#from http://99-bottles-of-beer.net/language-morse-code-406.html

transmit(example)
于 2015-07-10T22:00:19.380 回答