#python 2.7
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import os
import winsound,sys,time __author__ = 'BH8ANK' morse_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':'--..',
'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': '--..',
'':'-----',
'':'.----',
'':'..---',
'':'...--',
'':'....-',
'':'.....',
'':'-....',
'':'--...',
'':'---..',
'':'----.',
' ':' ',
} wave_dict = {
'a':r'F:\personal\Radio\cw_sound\A.wav',
'b':r'F:\personal\Radio\cw_sound\B.wav',
'c':r'F:\personal\Radio\cw_sound\C.wav',
'd':r'F:\personal\Radio\cw_sound\D.wav',
'e':r'F:\personal\Radio\cw_sound\E.wav',
'f':r'F:\personal\Radio\cw_sound\F.wav',
'g':r'F:\personal\Radio\cw_sound\G.wav',
'h':r'F:\personal\Radio\cw_sound\H.wav',
'i':r'F:\personal\Radio\cw_sound\I.wav',
'j':r'F:\personal\Radio\cw_sound\J.wav',
'k':r'F:\personal\Radio\cw_sound\K.wav',
'l':r'F:\personal\Radio\cw_sound\L.wav',
'm':r'F:\personal\Radio\cw_sound\M.wav',
'n':r'F:\personal\Radio\cw_sound\N.wav',
'o':r'F:\personal\Radio\cw_sound\O.wav',
'p':r'F:\personal\Radio\cw_sound\P.wav',
'q':r'F:\personal\Radio\cw_sound\Q.wav',
'r':r'F:\personal\Radio\cw_sound\R.wav',
's':r'F:\personal\Radio\cw_sound\S.wav',
't':r'F:\personal\Radio\cw_sound\T.wav',
'u':r'F:\personal\Radio\cw_sound\U.wav',
'v':r'F:\personal\Radio\cw_sound\V.wav',
'w':r'F:\personal\Radio\cw_sound\W.wav',
'x':r'F:\personal\Radio\cw_sound\X.wav',
'y':r'F:\personal\Radio\cw_sound\Y.wav',
'z':r'F:\personal\Radio\cw_sound\Z.wav',
'':r'F:\personal\Radio\cw_sound\1.wav',
'':r'F:\personal\Radio\cw_sound\2.wav',
'':r'F:\personal\Radio\cw_sound\3.wav',
'':r'F:\personal\Radio\cw_sound\4.wav',
'':r'F:\personal\Radio\cw_sound\5.wav',
'':r'F:\personal\Radio\cw_sound\6.wav',
'':r'F:\personal\Radio\cw_sound\7.wav',
'':r'F:\personal\Radio\cw_sound\8.wav',
'':r'F:\personal\Radio\cw_sound\9.wav',
'':r'F:\personal\Radio\cw_sound\0.wav',
' ':' ',
} print("\n")
print("Please input a string(999 to exit):")
print("\n\n")
code = 'initial' while(code!=''):
code = raw_input()
if(code == ''):
print('Bye!')
break
for i in code:
print str(morse_dict[i]),
if(' ' == i):
time.sleep(0.25)
if(' ' != i):
winsound.PlaySound(wave_dict[i], winsound.SND_NODEFAULT)
# os.system("paplay BEEP1.WAV")
print('\n')

音频文件使用业余无线电常用的软件 CW Player逐个生成。

【python 2.7】输入任意字母数字,输出其对应的莫尔斯码并播放声音的更多相关文章

  1. Eclipse输入任意字母或指定字符出现提示框

    Eclipse默认是输入"."的时候会有提示框提示对应的API. 如果想更方便的输入任意字母或者指定的符号出现提示框设置如下: 打开Eclipse,选中“Window”->& ...

  2. 利用 Python django 框架 输入汉字,数字,字符,等。。转成二维码!

    利用 Python django 框架 输入汉字,数字,字符,等..转成二维码! 模块必备:Python环境 + pillow  + qrcode 模块 核心代码import qrcode qr = ...

  3. python中判断输入是否为数字(包括浮点数)

    1.当num确定为数字后 num=123.4print(isinstance(num,float))#判断是否为浮点数 print(isinstance(num,int))#判断是否为整数 2.当nu ...

  4. c 按输入的字母来输出对应效果

    输入一个大写字母,如 F,输出 比如: 输入:F 输出: F EFE DEFED CDEFEDC BCDEFEDCB ABCDEFEDCBA #include<stdio.h> int m ...

  5. python实现输入任意一个大写字母生成金字塔的示例

    输入任意一个大写字母,生成金字塔图形 def GoldTa(input): L = [chr(i) for i in range(65, 91)] # 大写字母A--Z idA = 65 # 从A开始 ...

  6. Appium+python 使用 press_keycode 如何输入大写字母

    背景:在做自动化测试项目时,需要在文本框中输入一串数字和字母组合的字符串(注:此页面为webview无法使用send_keys方法) 要使用send_keys方法首先要知道键盘字符对应的数值,这个可以 ...

  7. 判断Python输入是否为数字、字符(包括正则表达式)

    当键入字符串时候,我们自己就可以判断了! 一:我们在程序把输入的数字当字符串处理 import re print("我现在要写一个文件数字猜游戏数字游戏:") temp=input ...

  8. Python学习笔记-输入与输出

    一.Python提供了raw_input()和input()两个函数实现数据输入. 1.raw_input() 接收字符串类型的输入数据. str1=raw_input("请输入字符串:&q ...

  9. Python基础篇--输入与输出

    站长资讯平台:Python基础篇--输入与输出在任何语言中,输入和输出都是代码最基础的开始,so,先来聊一聊输入和输出输出输入END在任何语言中,输入和输出都是代码最基础的开始,so,先来聊一聊输入和 ...

随机推荐

  1. 1001. [BJOI2006]狼抓兔子【最小割】

    Description 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一 ...

  2. 如何用代码而非事件触发PBO

    通常我们通过抛出事件触发PBO,但若没有事件发生时,我们其实也可以用代码强制发出命令. 写法如下: CL_GUI_CFW=>SET_NEW_OK_CODE( NEW_CODE = <uco ...

  3. HBase学习之路 (一)HBase基础介绍

    产生背景 自 1970 年以来,关系数据库用于数据存储和维护有关问题的解决方案.大数据的出现后, 好多公司实现处理大数据并从中受益,并开始选择像 Hadoop 的解决方案.Hadoop 使用分 布式文 ...

  4. 模拟器配置Burpsuite抓取https包

    在模拟器中设置代理,长按WiredSSID会弹出菜单: 点击修改网络: 显示高级选项打勾,然后设置代理ip,也就是你运行burp的机器ip: 然后导出burp的证书: 设置保存的路径和文件名: 模拟器 ...

  5. ethereumjs/ethereumjs-account-2-test

    ethereumjs-account/test/index.js const Account = require('../index.js') const tape = require('tape') ...

  6. Electron简介和安装使用

    一.Electron简介Electron的应用,使得了JS不仅仅可以BS端项目,还可以做CS端项目. 另外今天之所以研究下Electron,还是因为公司的需要,业务场景是,通过Electron.js开 ...

  7. SSM框架之RestFul示例

    演示环境:maven+Spring+SpringMVC+MyBatis Plus或MyBatis都行+JDK8 JDK7我想应该没有问题,原因是用的基本都是JDK6或者JDK7的相关特性. 当然了,J ...

  8. VC++中出现stack overflow错误时修改VC++的默认堆栈大小

    VC++中,在栈空间上申请存储的结构体或者类对象的数组空间时,如果数组长度过大,造成申请的栈空间超过或者逼近1MB时,程序可以编译通过,但是不能够执行起来.打到调试模式时会弹出如下图所示的栈空间越界错 ...

  9. iptables基础配置

    启动指令:service iptables start   重启指令:service iptables restart   关闭指令:service iptables stop   规则相关配置:/e ...

  10. UOJ#206. 【APIO2016】Gap(交互,乱搞)

    描述 提交 自定义测试 有 NN 个严格递增的非负整数 a1,a2,…,aNa1,a2,…,aN(0≤a1<a2<⋯<aN≤10180≤a1<a2<⋯<aN≤101 ...