code = {
"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" : "--.. ",
}
def morse(word):
for i in word:
if i == " ":
print(" " * 2, end="")
else:
print(code[i], end="")
word = input("Type A Sentence: ")
word = list(word.upper())
print(morse(word))
Как удалить «none» после этого? потому что при запуске это не выводится в конце.простой morse код. как улучшить?
все, кажется, работает хорошо для этого ни в конце
Тип Слово за исключением: привет ..... .- .. .- .. --- Нет
Вы делаете «печать» в двух местах, где вы называете «morse» и другое внутри самой функции. Вы должны печатать только один раз. У вас есть выбор: 'morse' возвращает строку и печатает эту строку (и удаляет там вызовы печати) или удаляет' print' из того места, где вы называете 'morse'. Более гибким выбором было бы, чтобы 'morse' вернул строку. –