摩尔斯电码转换的小程序【python编写】

摩尔斯电码转换的小程序

博主是一个刚刚接触生信的新手,正在学习Linux和Python,平时会发布一些自己练手的脚本,用来记录自己的学习之路。

介绍

下面是一个用python写的进行英语和摩尔斯电码转换的程序,纯属练习和娱乐,如有错误欢迎指正。

说明

  • 输入的英语只能是单词,标点符号无法识别!
  • 转换出的摩尔斯电码字母之间用空格区分,单词之间用/区分。

脚本如下

# program for convertion between words and Morse code
'''
Author:will
Date  :2019/2/11
E-mail:willgyw@126.com
'''

# dict of words2morse
dict1 = {'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': '----.' }

# dict of morse2words
dict2 = dict(zip(dict1.values(), dict1.keys()))

def encode():
    words = input("Input a sentence you want to endoce, NO PUNCTUATION:").strip().lower()
    for letter in words:
        if letter == ' ':
            print('/', end=' ')
        else:
            print(dict1[letter], end=' ')
    print()

def decode():
    codes = input("Input Morse code you want to decode, ONLY MORSE CODE:").strip().split(" ")
    for sign in codes:
        if sign == '/':
            print(' ', end='')
        else:
            print(dict2[sign], end='')
    print()
    
def main():    
    while 1 == 1:
        choice = input("Encode(Words to Morse codes) or Decode(Morse codes to Words).Plase input [0/1]")

        if   choice == '0':
            encode()
        elif choice == '1':
            decode()
        else:
            break

if __name__=="__main__":
    main()
    


  • 8
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
摩尔电码(Morse Code)是一种早期的通信方式,通过长短音符组合来代表字母、数字和标点符号。在Python中实现一个摩尔电码转换器,你可以创建两个函数:一个用于将文本转换摩尔电码,另一个用于将摩尔电码转换回文本。这里是一个简单的示例: 1. **编码函数**: 它会接受一个字符串参数,查找每个字符对应的摩尔电码,并连接起来形成最终的摩尔电码字符串。 ```python def encode_morse(text): morse_code_dict = { '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': '----.' } return ' '.join([morse_code_dict[ch] for ch in text.upper()]) ``` 2. **解码函数**: 它会接受一个摩尔电码字符串,将其分割成单独的字符,然后找到每个字符对应的字母并组合起来。 ```python def decode_morse(morse_code): morse_code_dict = {value: key for key, value in morse_code_dict.items()} decoded_text = '' words = morse_code.split(' ') for word in words: decoded_text += morse_code_dict[word] if word in morse_code_dict else ' ' return decoded_text ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值