2019-01-20

摩斯电码试题

题目要求

将输入的英文单词转换为摩斯电码,并且输出不同摩斯电码组合的个数

代码

a = {
  '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': "--.."
}   #摩斯电码
b=set()    #定义set类型过滤相同摩斯电码组合
for w in words:
     tmp=''" #设置空字符串等待接受每个单词的摩斯电码
     for l in w:
         tmp+=a[l]    #提取对应字母的摩斯电码值并拼接
    b.add(temp)   #加入set组中,相同的组合会被过滤掉
return len(b)   #计算set组的长度

你可能感兴趣的:(2019-01-20)