commit c6a0c0ae97317786ab75a1b4826bb168f6d67f13 Author: M. Heiser Date: Mon Apr 4 13:17:59 2022 +0200 my first commit :) diff --git a/main.py b/main.py new file mode 100644 index 0000000..7fa3361 --- /dev/null +++ b/main.py @@ -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)