python实现带声音的摩斯码翻译实现方法

 更新时间:2015年05月20日 12:13:04   作者:igoo  
这篇文章主要介绍了python实现带声音的摩斯码翻译实现方法,涉及pygame模块操作及摩斯码实现技巧,需要的朋友可以参考下

本文实例讲述了python实现带声音的摩斯码翻译程序,分享给大家供大家参考。具体分析如下:

这里需要使用PyGame来发出声音。

import pygame
import time
import sys
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': '----.' 
    }
ONE_UNIT = 0.5
THREE_UNITS = 3 * ONE_UNIT
SEVEN_UNITS = 7 * ONE_UNIT
PATH = 'morse_sound_files/'
def verify(string):
  keys = CODE.keys()
  for char in string:
    if char.upper() not in keys and char != ' ':
      sys.exit('Error the charcter ' + char + ' cannot be translated to Morse Code')
def main():
  print 'Welcome to Alphabet to Morse Code Translator v.01\n'
  msg = raw_input('Enter Message: ')
  verify(msg)
  print
  pygame.init()
  for char in msg:
    if char == ' ':
      print ' '*7,
      time.sleep(SEVEN_UNITS)
    else:
      print CODE[char.upper()],
      pygame.mixer.music.load(PATH + char.upper() + '_morse_code.ogg')
      pygame.mixer.music.play()
      time.sleep(THREE_UNITS)
if __name__ == "__main__":
  main()

希望本文所述对大家的Python程序设计有所帮助。

相关文章

  • Python提高运行速度工具之Pandarallel的使用教程

    Python提高运行速度工具之Pandarallel的使用教程

    为了提高运行速度,我们一般会采用多进程的方式。而常见的方案对于普通python玩家来说都不是特别友好,怎样才能算作一个友好的并行处理方案?本文就来和大家讲讲pandarallel的使用
    2022-09-09
  • PyTorch中 tensor.detach() 和 tensor.data 的区别解析

    PyTorch中 tensor.detach() 和 tensor.data 的

    这篇文章主要介绍了PyTorch中 tensor.detach() 和 tensor.data 的区别解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • pyspark 读取csv文件创建DataFrame的两种方法

    pyspark 读取csv文件创建DataFrame的两种方法

    今天小编就为大家分享一篇pyspark 读取csv文件创建DataFrame的两种方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • pytest+request框架中yaml配置文件使用

    pytest+request框架中yaml配置文件使用

    pytest+request框架写接口测试自动化,使用yaml文件配置更方便管理用例中的数据,本文主要介绍了pytest+request框架中yaml配置文件使用,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • Django REST Swagger实现指定api参数

    Django REST Swagger实现指定api参数

    这篇文章主要介绍了Django REST Swagger实现指定api参数,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Python实现读取文件夹按数字排序功能

    Python实现读取文件夹按数字排序功能

    这篇文章主要介绍了Python读取文件夹按数字排序,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • python实现录音功能(可随时停止录音)

    python实现录音功能(可随时停止录音)

    这篇文章主要为大家详细介绍了python实现录音功能,可随时停止录音,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • python安装mysql的依赖包mysql-python操作

    python安装mysql的依赖包mysql-python操作

    这篇文章主要介绍了python安装mysql的依赖包mysql-python操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • Python列表list的详细用法介绍

    Python列表list的详细用法介绍

    这篇文章主要介绍了Python列表list的详细用法介绍,列表(list)作为Python中基本的数据结构,是存储数据的容器,相当于其它语言中所说的数组
    2022-07-07
  • Python通过matplotlib绘制动画简单实例

    Python通过matplotlib绘制动画简单实例

    这篇文章主要介绍了Python通过matplotlib绘制动画简单实例,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12

最新评论