функция дает неправильный результат
Есть код, в нем есть две функции, одна берез случайное слово из списка, вторая переводит данное слово по словарю (перевод в азбуку Морзе). все это работает в опроснике (типа учебная программа для обучения азбуке Морзе). Я не могу понять где совершил ошибку, и почему всегда неправильный ответ, даже если по факту он правильный.
Код:
import random
morse_encode = {"0": "-----", "1": ".----", "3": "...--", "2": "..---","4": "....-",
"5": ".....","6": "-....","7": "--...","8": "---..","9": "----.","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": "--..", ".": ".-.-.-",",": "--..--",
"?": "..--..","!": "-.-.--", "-": "-....-", "/": "-..-.", "@": ".--.-.",
"(": "-.--.",")": "-.--.-"}
words = ["code", "bit", "list", "soul", "next"]
answers_count = 1
answers = []
right_answers = []
def get_random_word():
"""
Получает случайное слово
из списка слов
"""
word = random.sample(words, k=1)
return "".join(word)
def morse_func(word):
"""
переводит слова на английском языке
в последовательности точек и тирe
"""
mors_answer = []
for i in word:
for key, value in morse_encode.items():
if key == i:
mors_answer.append("".join(value))
return " ".join(mors_answer)
input("Сегодня мы потренируемся расшифровывать морзянку.\n"
"Нажмите Enter и начнем")
while answers_count <=5:
answer = input(f"Слово {answers_count}: {morse_func(get_random_word())} :")
if answer == morse_func(get_random_word()):
print("Верно")
right_answers.append(answer)
else:
print("Неверно")
answers.append(answer)
answers_count += 1
Источник: Stack Overflow на русском