脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|

服务器之家 - 脚本之家 - Python - python实现带声音的摩斯码翻译实现方法

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

2020-07-03 11:03igoo Python

这篇文章主要介绍了python实现带声音的摩斯码翻译实现方法,涉及pygame模块操作及摩斯码实现技巧,需要的朋友可以参考下

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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程序设计有所帮助。

延伸 · 阅读

精彩推荐