前段时间看到了一个科普摩尔斯电码的博客,感觉挺好玩的,就想着写一个翻译摩尔斯电码的小程序,懒了好几天了,一直没写,今天终于完成了

代码如下

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': '----.', '.': '.-.-.-', ':': '---...',',': '--..--', ';': '-.-.-.', '?': '..--..', '=': '-...-', "'": '.----.', '/': '-..-.', '!': '-.-.--','——': '-....-', '-': '..--.-', '"': '.-..-.', '(': '-.--.', ')': '-.--.-'}string = input('请输入英文/摩尔斯电码:\n',).strip()
english_key = 0
if string[0] == '.' or string[0] == '-' or string[0] == '/': # 说明是电码转英文lis_0 = string.replace(' ', '/').strip('/').split('//')lis_1 = [lis_0[i].split('/') for i in range(len(lis_0))] # Her love youcode_dict = {v: k for k, v in code_dict.items()}
else:english_key = 1lis_0 = string.upper().split()for i in range(len(lis_0)):lis_0[i] = [''.join(lis_0[i])[j] for j in range(len(lis_0[i]))]lis_1 = lis_0code_dict = {k: v+' ' for k, v in code_dict.items()}for i in range(len(lis_1)):for j in range(len(lis_1[i])):if lis_1[i][j] in code_dict:lis_1[i][j] = code_dict[lis_1[i][j]]lis_1[i] = ''.join(lis_1[i])if english_key:print(' '.join(lis_1).capitalize().replace(' ', '/').rstrip('/'))
else:print(' '.join(lis_1).capitalize())

输入格式的要求

以 I love Python 为例
电码转英文:

  格式一:字母之间以 ‘/’ 隔开,单词之间以 ‘//’ 隔开;
    如:…//.-…/—/…-/.//.–./-.–/-/…/—/-. 或 /…//.-…/—/…-/.//.–./-.–/-/…/—/-./
    
  格式二:字母之间以 ’ ’ (单空格)隔开,单词之间以 ’ ’ (双空格)隔开;
    如:… .-… — …- . .–. -.-- - … — -.

英文转电码:

  普通英文句子即可,不区分大小写

输出格式

电码转英文:首字母大写,其余为小写

  如:I love python

英文转电码:字母之间以 ‘/’ 隔开,单词之间以 ‘//’ 隔开

  如:…//.-…/—/…-/.//.–./-.–/-/…/—/-.

Python实现摩尔斯电码和英文互译相关推荐

  1. 摩尔斯电码转换python编码_摩尔斯电码到英文python3

    我想用Python 3将摩尔斯电码转换成英文 我已经设法使用这个将英语转换成莫尔斯码 http://code.activestate.com/recipes/578407-simple-morse-c ...

  2. 牛逼了!用Python实现摩尔斯电码翻译器,网友:“怎么敲我爱你?”

    莫尔斯电码是一种将文本信息作为一系列开,关的音调,灯光或咔嗒声进行传输的方法,熟练的听众或观察者无需特殊设备即可直接理解.它以电报的发明者塞缪尔·FB·莫尔斯(Samuel FB Morse)的名字命 ...

  3. python解决摩尔斯电码

    文章目录 前言 一.题目说明 二.代码展示 三.代码分析 1. str.maketrans() 2. 以二进制位基数格式化输出 四.总结 前言 前一段时间逛checkio,又发现一个有意思的题,是关于 ...

  4. 摩尔斯电码_摩尔斯电码二叉树和baader meinhof现象

    摩尔斯电码 The other night I was watching some videos by 2 Youtube channels I really like. The first one ...

  5. 摩尔斯电码转换python编码_Morse Code 用Python做个摩斯密码转换器

    摩斯密码摩尔斯电码(又译为摩斯密码,Morse code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母.数字和标点符号,不同于现代只使用零和一两种状态的二进制代码,它的代码包括五种 ...

  6. 利用python实现将文本、摩尔斯电码与用滴答表示的摩尔斯电码三者相互转换

    文章目录 目录 前言 一.摩尔斯电码的对照表: 二.python代码的完整展示 三.代码运行结果的展示: 四.总结与注意事项 前言 本文的代码主要通过字典与反转字典,实现摩尔斯电码与文本的相互转换,并 ...

  7. python 转成摩尔斯电码_一篇文章教会你摩尔斯码

    正规的摩尔斯码 对照表是这样: 其实记住主要的26个字母就够日常用了,而记26个字母有一张更简单的图: 把点和横线以字母的形态呈示出来,基本上看一遍就能记住大半了.不过要注意每个字母下方的一行小字,那 ...

  8. 摩尔斯电码转换python编码_python转换字符串为摩尔斯电码的方法

    python转换字符串为摩尔斯电码的方法 本文实例讲述了python转换字符串为摩尔斯电码的方法.分享给大家供大家参考.具体实现方法如下: chars = ",.0123456789?abc ...

  9. 摩尔斯电码(Python字典实现)

    摩尔斯电码 摩尔斯电码也被称作摩斯密码,是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母.数字和标点符号.它发明于1837年,是一种早期的数字化通信形式.不同于现代化的数字通讯,摩尔斯 ...

最新文章

  1. 金额转换,阿拉伯数字的金额转换成 面试编程题
  2. oracle 学习笔记之触发器
  3. spring_Spring Boot应用程序浪费了内存
  4. angular2 组件之间通讯-使用服务通讯模式 2016.10.27 基于正式版ng2
  5. Server 对象 错误 'ASP 0177 : 800401f3' Server.CreateObject 失败解决方案
  6. Python之多进程
  7. 华为鸿蒙系统首发设备,华为鸿蒙系统首发设备曝光!不是手机
  8. python生物数据分析师职业技能_数据分析行业各个职业需要的技能是什么?
  9. MATLAB 批量改文件名称
  10. 談JS面向對象【靜態與非靜態類】
  11. dj鲜生-36-商品应用-其它模型类的创建-完善goods应用的数据表
  12. linux编译静态库的头文件,条件编译,头文件,静态库,共享库与多文件编程
  13. java Paths
  14. DesignPatterns-装饰器模式
  15. java用信号量写理发师_课内资源 - 基于Java实现的生产者与消费者问题、读者写者问题、哲学家进餐问题、理发师睡觉问题、医生看病问题...
  16. HDOJ--1874--畅通工程续
  17. java ror_Java会因为RoR的流行而过时吗?
  18. 蛋白质组学与转录组学联合分析
  19. 恒指2.25日预测及操作建议
  20. 在ubuntu用wine安装微信 并解决无法输入文字的问题 ubuntu完美安装微信

热门文章

  1. mysql的_Mysql
  2. 现代社会,各行各业的竞争越来越激烈
  3. 长尾效应(由百度网络资料整理)
  4. XENAPP 7.6 和 XENDESKTOP 7.6 初体验之四 创建桌面计算机目录
  5. SpringBoot库存管理系统,拿来学习太香了(附源码)
  6. VR全景电子商务增加客户体验
  7. JavaScript——leetcode算法入门876. 链表的中间结点【双指针专题】
  8. mysql的collate什么意思_MYSQL中的COLLATE是什么?
  9. 无线网络-LTE (01) LTE Overview
  10. 流体管道除铁器 磁性过滤器 管道篮式磁棒过滤器