本文实例讲述了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 "
msg = raw_input("Enter Message: ")
verify(msg)
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程序设计有所帮助。