################# # Morse Code 1.py ################# import sys import time import winsound DOT = 0.1 DASH = DOT * 3 BETWEEN_PARTS = DOT * 1 BETWEEN_LETTERS = DOT * 3 BETWEEN_WORDS = DOT * 7 CODE = {'A': [DOT, DASH], 'B': [DASH, DOT, DOT, DOT], 'C': [DASH, DOT, DASH, DOT], 'D': [DASH, DOT, DOT], 'E': [DOT], 'F': [DOT, DOT, DASH, DOT], 'G': [DASH, DASH, DOT], 'H': [DOT, DOT, DOT, DOT], 'I': [DOT, DOT], 'J': [DOT, DASH, DASH, DASH], 'K': [DASH, DOT, DASH], 'L': [DOT, DASH, DOT, DOT], 'M': [DASH, DASH], 'N': [DASH, DOT], 'O': [DASH, DASH, DASH], 'P': [DOT, DASH, DASH, DOT], 'Q': [DASH, DASH, DOT, DASH], 'R': [DOT, DASH, DOT], 'S': [DOT, DOT, DOT], 'T': [DASH], 'U': [DOT, DOT, DASH], 'V': [DOT, DOT, DOT, DASH], 'W': [DOT, DASH, DASH], 'X': [DASH, DOT, DOT, DASH], 'Y': [DASH, DOT, DASH, DASH], 'Z': [DASH, DASH, DOT, DOT], '1': [DOT, DASH, DASH, DASH, DASH], '2': [DOT, DOT, DASH, DASH, DASH], '3': [DOT, DOT, DOT, DASH, DASH], '4': [DOT, DOT, DOT, DOT, DASH], '5': [DOT, DOT, DOT, DOT, DOT], '6': [DASH, DOT, DOT, DOT, DOT], '7': [DASH, DASH, DOT, DOT, DOT], '8': [DASH, DASH, DASH, DOT, DOT], '9': [DASH, DASH, DASH, DASH, DOT], '0': [DASH, DASH, DASH, DASH, DASH], '.': [DOT, DASH, DOT, DASH, DOT, DASH], ',': [DASH, DASH, DOT, DOT, DASH, DASH], '?': [DOT, DOT, DASH, DASH, DOT, DOT], '/': [DASH, DOT, DOT, DASH, DOT], '@': [DOT, DASH, DASH, DOT, DASH, DOT]} def translate(string): for character in string.upper(): if CODE.has_key(character): for interval in CODE[character]: winsound.Beep(440, int(interval * 1000)) time.sleep(BETWEEN_PARTS) time.sleep(BETWEEN_LETTERS - BETWEEN_PARTS) sys.stdout.write(character) else: time.sleep(BETWEEN_WORDS - BETWEEN_LETTERS) sys.stdout.write(' ') def test(): line = sys.stdin.readline() while line: translate(line) sys.stdout.write('\n') line = sys.stdin.readline() if __name__ == '__main__': test() ################# # Morse Code 2.py ################# from sys import * from time import * from winsound import * ################################################################################ FQC = 880 DOT = 0.1 ################################################################################ DAH = DOT * 3 SEP = DOT * 7 CODE = {' ': ' ', "'": '.----.', '(': '-.--.-', ')': '-.--.-', ',': '--..--', '-': '-....-', '.': '.-.-.-', '/': '-..-.', '0': '-----', '1': '.----', '2': '..---', '3': '...--', '4': '....-', '5': '.....', '6': '-....', '7': '--...', '8': '---..', '9': '----.', ':': '---...', ';': '-.-.-.', '?': '..--..', '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': '--..', '_': '..--.-'} ################################################################################ def main(): s = stdin.readline() while s: translate(s) s = stdin.readline() def translate(s): s = ''.join(c for c in s.upper() if c in CODE) for i, c in enumerate(s): if c == ' ': sleep(SEP) else: for d in CODE[c][:-1]: Beep(FQC, int((DOT if d == '.' else DAH) * 1000)) sleep(DOT) Beep(FQC, int((DOT if CODE[c][-1] == '.' else DAH) * 1000)) if i + 1 != len(s) and s[i + 1] != ' ': sleep(DAH) ################################################################################ if __name__ == '__main__': main()