Bài 19
Đề bài: Đúng dictionary de doi ma moi (morse code) don gian.
Viết hàm ma hoa mot chuoi chu cai và số thanh ma Morse.
Viết hàm giải ma nguoc lai.
Ví dụ: "HELLO"
Kết quả:
Ma hoa: .... . .-.. .-.. ---
Giải ma: HELLO
Đăng nhập để giáo viên có thể giao bài và nhận bài nộp của bạn.
Câu trả lời
MORSE = {
'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':'----.'
}
NGUOC = {v: k for k, v in MORSE.items()}
def ma_hoa(chuoi):
chuoi = chuoi.upper()
ket_qua = []
for c in chuoi:
if c in MORSE:
ket_qua.append(MORSE[c])
elif c == ' ':
ket_qua.append('/')
return ' '.join(ket_qua)
def giai_ma(morse):
ket_qua = []
for ma in morse.split(' '):
if ma == '/':
ket_qua.append(' ')
elif ma in NGUOC:
ket_qua.append(NGUOC[ma])
return ''.join(ket_qua)
van_ban = input("Nhap van ban can ma hoa: ")
da_ma = ma_hoa(van_ban)
giai = giai_ma(da_ma)
print(f"Ma hoa: {da_ma}")
print(f"Giai ma: {giai}")