| @ -0,0 +1,80 @@ | |||
| import csv | |||
| alphabet = [["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", "--.."]] | |||
| dictDE_file = open("wordlist-german.txt", "r") | |||
| dictEN_file = open("wordlist-english.txt", "r") | |||
| reader = csv.reader(dictDE_file) | |||
| dictDE = [row[0].upper() for row in reader] | |||
| reader = csv.reader(dictEN_file) | |||
| dictEN = [row[0].upper() for row in reader] | |||
| dictionary = dictEN | |||
| morse_cipher = "..-..--..-......-" | |||
| def latin_to_morse(word): | |||
| result = "" | |||
| for letter in word: | |||
| for latin, morse in alphabet: | |||
| if letter == latin: | |||
| result += morse | |||
| return result | |||
| def guess_chars(morse_text, plain_text=""): | |||
| if morse_text == "": | |||
| char_guesses.append(plain_text) | |||
| else: | |||
| for latin, morse in alphabet: | |||
| if morse == morse_text[0:len(morse)]: | |||
| guess_chars(morse_text[len(morse):len(morse_text)], (plain_text + latin)) | |||
| def guess_vocabs(word, phrase=""): | |||
| if word == "": | |||
| vocab_guesses.append(phrase) | |||
| else: | |||
| for vocab in dictionary: | |||
| if vocab == word[0:len(vocab)]: | |||
| guess_vocabs(word[len(vocab):len(word)], (phrase + vocab + " ")) | |||
| char_guesses = [] | |||
| guess_chars(morse_cipher) | |||
| print("Chars guessed. char_guesses complete.") | |||
| guess_list_length = len(char_guesses) | |||
| for index, word in enumerate(char_guesses): | |||
| print("(", index, "/", guess_list_length, ") - ", word, "...", end="") | |||
| vocab_guesses = [] | |||
| guess_vocabs(word) | |||
| print("\r", end="") | |||
| if vocab_guesses: | |||
| print("Found something: ", vocab_guesses) | |||