Skip to content

Instantly share code, notes, and snippets.

@colyk
Created July 6, 2017 20:50
Show Gist options
  • Save colyk/beefd95258bb36c98973a6d30682b453 to your computer and use it in GitHub Desktop.
Save colyk/beefd95258bb36c98973a6d30682b453 to your computer and use it in GitHub Desktop.
Генерация кода Морзе
import winsound
import time
'''
Тире равняется трем звучащим точкам;
Пауза между элементами одного символа (знака) — одна незвучащая точка;
Между знаками — три точки;
Между словами — семь точек.
'''
def beep_gerate(str):
Freq = 1400
dot_dur = 60
dash_dur = 180
for i in str:
# time.sleep(0.08)
if(i == '•'):
winsound.Beep(Freq,dot_dur)
# time.sleep(0.1)
elif(i == '−'):
winsound.Beep(Freq,dash_dur)
else:
time.sleep(0.4)
# continue
def get_morse_cod(str):
dict_ = {'d': '−••', 'n': '−•', 'l': '•−••', 'm': '−−', 's': '•••', 't': '−', 'w': '•−−', 'e': '•',
'x': '−••−', 'r': '•−•', 'y': '−•−−', 'z': '−−••', 'k': '−•−', 'g': '−−•', 'i': '••', 'p': '•−−•',
'v': '•••−', 'o': '−−−', 'j': '•−−−', 'u': '••−', 'c': '−•−•', 'f': '••−•', 'b': '−•••', 'q': '−−•−',
'a': '•−', 'h': '••••',' ':' '}
code = ''
for i in str:
try:
code+= dict_[i]
except:
code+= i
finally:
code+=' '
return code
def main():
# for i in range(7000,10000,1000):
# winsound.Beep(i,1000)
# # time.sleep(1)
str = input('').lower()
# print(str)
code = get_morse_cod(str)
print(code)
beep_gerate(code)
if __name__ == '__main__':
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment