摩斯电码试题
题目要求
将输入的英文单词转换为摩斯电码,并且输出不同摩斯电码组合的个数
代码
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组的长度