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

691次阅读  |  发布于5年以前

本文实例讲述了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程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8