Python实现摩尔斯电码和英文互译
前段时间看到了一个科普摩尔斯电码的博客,感觉挺好玩的,就想着写一个翻译摩尔斯电码的小程序,懒了好几天了,一直没写,今天终于完成了
代码如下
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实现摩尔斯电码和英文互译相关推荐
- 摩尔斯电码转换python编码_摩尔斯电码到英文python3
我想用Python 3将摩尔斯电码转换成英文 我已经设法使用这个将英语转换成莫尔斯码 http://code.activestate.com/recipes/578407-simple-morse-c ...
- 牛逼了!用Python实现摩尔斯电码翻译器,网友:“怎么敲我爱你?”
莫尔斯电码是一种将文本信息作为一系列开,关的音调,灯光或咔嗒声进行传输的方法,熟练的听众或观察者无需特殊设备即可直接理解.它以电报的发明者塞缪尔·FB·莫尔斯(Samuel FB Morse)的名字命 ...
- python解决摩尔斯电码
文章目录 前言 一.题目说明 二.代码展示 三.代码分析 1. str.maketrans() 2. 以二进制位基数格式化输出 四.总结 前言 前一段时间逛checkio,又发现一个有意思的题,是关于 ...
- 摩尔斯电码_摩尔斯电码二叉树和baader meinhof现象
摩尔斯电码 The other night I was watching some videos by 2 Youtube channels I really like. The first one ...
- 摩尔斯电码转换python编码_Morse Code 用Python做个摩斯密码转换器
摩斯密码摩尔斯电码(又译为摩斯密码,Morse code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母.数字和标点符号,不同于现代只使用零和一两种状态的二进制代码,它的代码包括五种 ...
- 利用python实现将文本、摩尔斯电码与用滴答表示的摩尔斯电码三者相互转换
文章目录 目录 前言 一.摩尔斯电码的对照表: 二.python代码的完整展示 三.代码运行结果的展示: 四.总结与注意事项 前言 本文的代码主要通过字典与反转字典,实现摩尔斯电码与文本的相互转换,并 ...
- python 转成摩尔斯电码_一篇文章教会你摩尔斯码
正规的摩尔斯码 对照表是这样: 其实记住主要的26个字母就够日常用了,而记26个字母有一张更简单的图: 把点和横线以字母的形态呈示出来,基本上看一遍就能记住大半了.不过要注意每个字母下方的一行小字,那 ...
- 摩尔斯电码转换python编码_python转换字符串为摩尔斯电码的方法
python转换字符串为摩尔斯电码的方法 本文实例讲述了python转换字符串为摩尔斯电码的方法.分享给大家供大家参考.具体实现方法如下: chars = ",.0123456789?abc ...
- 摩尔斯电码(Python字典实现)
摩尔斯电码 摩尔斯电码也被称作摩斯密码,是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母.数字和标点符号.它发明于1837年,是一种早期的数字化通信形式.不同于现代化的数字通讯,摩尔斯 ...
最新文章
- 金额转换,阿拉伯数字的金额转换成 面试编程题
- oracle 学习笔记之触发器
- spring_Spring Boot应用程序浪费了内存
- angular2 组件之间通讯-使用服务通讯模式 2016.10.27 基于正式版ng2
- Server 对象 错误 'ASP 0177 : 800401f3' Server.CreateObject 失败解决方案
- Python之多进程
- 华为鸿蒙系统首发设备,华为鸿蒙系统首发设备曝光!不是手机
- python生物数据分析师职业技能_数据分析行业各个职业需要的技能是什么?
- MATLAB 批量改文件名称
- 談JS面向對象【靜態與非靜態類】
- dj鲜生-36-商品应用-其它模型类的创建-完善goods应用的数据表
- linux编译静态库的头文件,条件编译,头文件,静态库,共享库与多文件编程
- java Paths
- DesignPatterns-装饰器模式
- java用信号量写理发师_课内资源 - 基于Java实现的生产者与消费者问题、读者写者问题、哲学家进餐问题、理发师睡觉问题、医生看病问题...
- HDOJ--1874--畅通工程续
- java ror_Java会因为RoR的流行而过时吗?
- 蛋白质组学与转录组学联合分析
- 恒指2.25日预测及操作建议
- 在ubuntu用wine安装微信 并解决无法输入文字的问题 ubuntu完美安装微信
热门文章
- mysql的_Mysql
- 现代社会,各行各业的竞争越来越激烈
- 长尾效应(由百度网络资料整理)
- XENAPP 7.6 和 XENDESKTOP 7.6 初体验之四 创建桌面计算机目录
- SpringBoot库存管理系统,拿来学习太香了(附源码)
- VR全景电子商务增加客户体验
- JavaScript——leetcode算法入门876. 链表的中间结点【双指针专题】
- mysql的collate什么意思_MYSQL中的COLLATE是什么?
- 无线网络-LTE (01) LTE Overview
- 流体管道除铁器 磁性过滤器 管道篮式磁棒过滤器