Python 简单的莫尔斯电码。如何改进?
运行此操作后,如何删除“无”?因为运行此命令最终不会打印出任何内容 一切似乎都很顺利,除了最后一点都没有 键入一个单词:你好Python 简单的莫尔斯电码。如何改进?,python,Python,运行此操作后,如何删除“无”?因为运行此命令最终不会打印出任何内容 一切似乎都很顺利,除了最后一点都没有 键入一个单词:你好 .... . .-.. .-.. --- 无莫尔斯函数不会返回任何内容,因此打印(莫尔斯(word))打印无。您可以通过不打印返回值来解决此问题: code = { "A" : ".- ", "B" : "-... ", "C" : "-.-. ", "D" : "-.. ", "E
.... . .-.. .-.. --- 无莫尔斯函数不会返回任何内容,因此
打印(莫尔斯(word))
打印无
。您可以通过不打印返回值来解决此问题:
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))
您在两个位置执行
打印
,一个在调用莫尔斯
的位置,另一个在函数本身内部。你应该只打印一次。您可以选择,让morse
返回一个字符串并打印该字符串(并删除那里的打印调用),或者从调用morse
的位置删除print
。更灵活的选择是让morse
返回字符串。哇,这很快,解决方案也很简单。非常感谢。我对python非常陌生,这是我的第一个项目。它不是恒星或任何东西,但嘿。真了不起!非常感谢你
morse(word)