我有一个字符串到莫尔斯函数,我知道我有它,莫尔斯字符之间有一个空格,如果有多个单词,仍然有一个空格。如何在每个单词之间保留4个空格,并在字符之间保留单个空格?我已经添加了encodechartomose函数
def encodeChartoMorse(text_input):
char=text_input.upper()
if (char == "A"):
char= ".-"
elif (char == "B"):
char= "-..."
elif (char== "C"):
char= "-.-."
elif (char == "D"):
char= "-.."
elif (char == "E"):
char= "."
elif (char == "F"):
char= "..-."
elif (char == "G"):
char= "--."
elif (char == "H"):
char= "...."
elif (char == "I"):
char= ".."
elif (char == "J"):
char= ".---"
elif (char == "K"):
char= "-.-"
elif (char == "L"):
char= ".-.."
elif (char == "M"):
char= "--"
elif (char == "N"):
char= "-."
elif (char == "O"):
char= "---"
elif (char == "P"):
char= ".--."
elif (char == "Q"):
char= " --.-"
elif (char == "R"):
char= ".-."
elif (char == "S"):
char= "..."
elif (char == "T"):
char= "-"
elif (char == "U"):
char= "..-"
elif (char == "V"):
char= "...-"
elif (char == "W"):
char= ".--"
elif (char == "X"):
char= "-..-"
elif (char == "Y"):
char= "-.--"
elif (char == "Z"):
char= "--.."
else:
char= '*'
return char
def encodeStringtoMorse(text_input):
length=len(text_input)
morse=''
for x in range(0, length):
char= encodeChartoMorse(text_input[x])
morse=morse + ' ' + char
return morse
与许多其他编程语言不同,Python允许您在单词中的字母列表中循环元素,而无需使用索引。在这种情况下,您需要循环文本中的单词(在编码单词之间放置4个空格),对于每个单词,循环每个字母(在编码字母之间放置1个空格)。最后,Python字典是将键(如字母)映射到值(如摩尔斯电码)的有效方法,而无需使用if-then-else逻辑
编辑:根据下面的评论,当我在上面提到“循环文本中的单词”时,问一下这是如何实现的是一个公平的问题?在我的示例中,我使用Python的
split()
string方法将文本字符串拆分为单独的单词。它试图通过查找要拆分字符串的空格(默认情况下),从字符串创建子字符串列表。结果列表为我们提供了一种方便的方法,在编码过程中循环文本中的单词例如:
输出:
相关问题 更多 >
编程相关推荐