python输入字母输出数字代码_【python 2.7】输入任意字母数字,输出其对应的莫尔斯码并播放声音...

#python 2.7#!/usr/bin/env python#-*- coding:utf-8 -*-

importosimportwinsound,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': '--..','0':'-----','1':'.----','2':'..---','3':'...--','4':'....-','5':'.....','6':'-....','7':'--...','8':'---..','9':'----.',' ':' ',

}

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','1':r'F:\personal\Radio\cw_sound\1.wav','2':r'F:\personal\Radio\cw_sound\2.wav','3':r'F:\personal\Radio\cw_sound\3.wav','4':r'F:\personal\Radio\cw_sound\4.wav','5':r'F:\personal\Radio\cw_sound\5.wav','6':r'F:\personal\Radio\cw_sound\6.wav','7':r'F:\personal\Radio\cw_sound\7.wav','8':r'F:\personal\Radio\cw_sound\8.wav','9':r'F:\personal\Radio\cw_sound\9.wav','0':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!='999'):

code=raw_input()if(code == '999'):print('Bye!')break

for i incode:printstr(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')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个任务可以分成两个子任务,分别是将单词和短语翻译成莫尔斯和将莫尔斯转换成音频或可视化输出。 首先,我们可以使用 Python 中的字典来构建莫尔斯字母之间的映射关系。一个简单的实现如下: ```python morse_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': '----.'} ``` 然后,我们可以编写一个函数来将单词或短语翻译成莫尔斯: ```python def text_to_morse(text): morse = '' for char in text.upper(): if char in morse_code: morse += morse_code[char] + ' ' elif char == ' ': morse += ' ' return morse ``` 接着,我们需要将莫尔斯转换成音频或可视化输出。这里给出两种实现方式: 1. 将莫尔斯转换成音频 这里我们可以使用 Python 中的 winsound 库来生成莫尔斯对应的音频。一个简单的实现如下: ```python import winsound import time def play_morse(morse): for char in morse: if char == '.': winsound.Beep(1000, 100) # 发出 1000 Hz 的短音符 elif char == '-': winsound.Beep(1000, 300) # 发出 1000 Hz 的长音符 elif char == ' ': time.sleep(0.3) # 间隔 0.3 秒 ``` 2. 将莫尔斯转换成可视化输出 这里我们可以使用 Python 中的 turtle 库来绘制莫尔斯对应的可视化图形。一个简单的实现如下: ```python import turtle def draw_morse(morse): turtle.speed(0) turtle.penup() turtle.goto(-300, 0) turtle.pendown() for char in morse: if char == '.': turtle.pendown() turtle.forward(50) # 短线 turtle.penup() turtle.backward(50) elif char == '-': turtle.pendown() turtle.forward(100) # 长线 turtle.penup() turtle.backward(100) elif char == ' ': turtle.penup() turtle.forward(50) # 空格 turtle.done() ``` 使用以上代码,我们可以将任意单词或短语翻译成莫尔斯,并将其输出为音频或可视化图形。例如,我们可以将字符串 "Hello World" 翻译成莫尔斯,并播放其音频或绘制其可视化图形,代码如下: ```python text = 'Hello World' morse = text_to_morse(text) play_morse(morse) # 播放莫尔斯音频 draw_morse(morse) # 绘制莫尔斯可视化图形 ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值