morsecode translator
Verfasst: Mittwoch 24. April 2019, 13:32
haben wahrscheinlich viele von euch schonmal geschrieben hier ist meine Version davon
Wünsche, Kritik und Lob sind erwünscht!
und falls Sirius hier drüber schaut auch hier hatte ich die variable text_in zuvor morse_in_text und text_in_morse benannt was ja wieder unnötig war^^
Wünsche, Kritik und Lob sind erwünscht!
und falls Sirius hier drüber schaut auch hier hatte ich die variable text_in zuvor morse_in_text und text_in_morse benannt was ja wieder unnötig war^^
Code: Alles auswählen
from time import sleep
from re import match
morsecode = {
"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" : "----.",
"." : ".-.-.-",
"," : "--..--"
}
morsecode_reversed = {
value:key for key,value in morsecode.items()
}
lst = (
'm2t', 't2m'
)
print(
'\tHerzlich Willkommen!\n\tMorsecode Translator v2.0\tAutor: Pad'
)
text_in = ''
while text_in.lower() != 'exit':
question = input(
'\tVon Morsecode zu Text oder von Text zu Morsecode? (m2t/t2m) : '
)
if question not in lst:
print(
'\tvalue_error, gebe den richtigen String an'
)
sleep(3)
exit()
if question == 't2m':
charset = r'[a-z0-9.,]'
text_in = input(
f'\tDen zu übersetzenden Text hier eingeben '
f'(chars: "a-z", "0-9" "," "."\t"exit" to quit)\n\n>>>\t'
)
if match(charset, text_in):
text = ' '.join(text_in)
translation_code = text.maketrans(morsecode)
translation = text.translate(translation_code)
print(
f'\t{translation}\n'
)
else:
print(
'\tvalue_error, falsches Zeichen angegeben'
)
sleep(3)
exit()
if question == 'm2t':
charset = r'[.-e,x,i.t]'
text_in = input(
'\tDen zu übersetzenden Morsecode hier eingeben\n\tBuchstaben '
'mit Space" " trennen und Wörter mit 2x Space" " trennen\n'
'\t(chars: "." = short "-" = long\t"exit" to quit)\n\n>>>\t'
)
if match(charset, text_in):
out = []
letter = []
j = -1
for i in text_in.split(' '):
j += 1
letter += [i.split(' ')]
for k in range(len(letter[j])):
out += morsecode_reversed.get(letter[j][k],
'Hier den Morsecode eingeben')
out += ' '
out = ''.join(out)
print(
f'\t{out}\n'
)
else:
print(
'\tvalue_error, falsches Zeichen angegeben'
)
sleep(3)
exit()