擅长:python、mysql、java
<pre><code>def is_morse(message):
allowed = {".", "-", " "}
return allowed.issuperset(message)
</code></pre>
<p>但由于消息包含所有字符,并不意味着它是有效的。您需要检查每一个是否有效,您可以使用dict将字母映射到morse,您还需要一些明确的格式,即字母之间的空格和单词之间的2个或更多空格:</p>
^{pr2}$
<p>可以将它解析为一个得到所有变体的字符串,只需要做更多的工作。在</p>
<p>如果您想走另一条路,那么只需反转映射:</p>
<pre><code>to_morse = {v: k for k, v in morse.items()}
def can_morse(msg):
return all(ch in to_morse for ch in msg.upper())
msg = "Hello World"
if can_morse(msg):
print(" ".join([to_morse[ch] for ch in msg.upper()]))
</code></pre>
<p>我选择额外的空格来分隔单词,你可以选择任何你喜欢的,只要确保将字符添加到dict映射,然后添加到一个空格或任何你想用它来分隔单词的东西。在</p>