利用 Python 实现摩斯码符号生成,完成函数:
(1)摩斯码生成函数:
函数原型: def morse_code(usr_str)
参数 usr_str:字符串,需要转换为摩斯码的字符串。
返回值:输出 usr_str 对应的摩斯码字符串,用 . 代表点, - 代表破折号,点与点、破
折号与破折号之间、 点与破折号之间为一个空格, 字符间为三个空格, 单词之间为七个空格。
注意输出的摩斯码首尾不含空格。
参考网站: https://en.wikipedia.org/wiki/Morse_code
# 题目5:摩斯码符号生成
def morse_code(usr_str):
CODE = {'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': '- - . .',
'0': '- - - - -', '1': '. - - - -', '2': '. . - - -',
'3': '. . . - -', '4': '. . . . -', '5': '. . . . .',
'6': '- . . . .', '7': '- - . . .', '8': '- - - . .',
'9': '- - - - .'
}
length=len(usr_str)
count=0
for item in usr_str:
count+=1
if item==' ':
print ('', end=' ')
else:
if count==length:
print (CODE[item])#最后一个没有空格
else:
print (CODE[item], end=' ')
如果对您有帮助,请打赏!谢谢!