欢迎光临
我们一直在努力

摩斯密码

"""
摩斯密码
国际摩斯密码定义一种标准编码方式,将每个字母对应由一系列点和短线组成的字符串,比如:
'a’对应'.-'
'b’对应'-...'
'c'对应'-.-.'
...
26个英文字母的摩尔斯密码表在下图中,可以默认已经知道
在一个字符串数组中,每个单词可以写成每个字母对应摩尔斯密码的组合.
abc可以写成'.--...-.-.",(即’.-'+'-...'+’-.-.')。
将这样一个过程称作单词翻译。
对字符串中所有单词进行单词翻译,返回不同单词翻译的数量。
"""
# 定义一个摩尔斯码的列表,用于后续的解码操作
MORSE = [
    ".-",  # 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 decode(s):
    """
    解码给定的摩尔斯码字符串列表,并返回不同单词的数量。

    参数:
    s (list): 包含摩尔斯码单词的列表。

    返回:
    int: 不同单词的数量。
    """
    result = []
    # 遍历输入的每个字符串项
    for item in s:
        word = []
        # 遍历字符串中的每个字符,并将其转换为相应的摩尔斯码
        for char in item:
            word.append(MORSE[ord(char) - ord('a')])
        # 将单词的摩尔斯码连接起来,并添加到结果列表中
        result.append(''.join(word))
    # 返回结果列表中不同元素的数量,即不同单词的数量
    return len(set(result))

# 调用decode函数并打印结果
print(decode(["dev", "bv", "os", "mts", 'egg', 'pg']))
赞(0) 打赏
未经允许不得转载:创想未来 » 摩斯密码

评论 抢沙发

评论前必须登录!

 

更好的Python学习

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

联系我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册