Giải mã. Giả sử một bản rõ được mã hoá theo phương pháp tịnh tiến kí tự với khoá k < 5 (xem Câu 23.5)

23.6. Giải mã. Giả sử một bản rõ được mã hoá theo phương pháp tịnh tiến kí tự với khoá k < 5 (xem Câu 23.5). Khi đó để giải mã (xác định bản rõ) ta chỉ việc đổi các kí tự tương ứng của bản mã thành kí tự đứng trước nó trong bảng mã ASCII k vị trí. Em hãy viết chương trình nhập khoá k và in ra bản rõ từ bản mã là một danh sách, trong đó mỗi phần tử là một kí tự trong bảng mã ASCII.

Bài Làm:

Tham khảo chương trình mã hoá ở Câu 23.5, dễ dàng thấy chương trình giải mã có thể viết như sau:

# Giải mã

ban_ ma = ['Q', ']', '$', 'R', 'E', 'Q', 'I', '>', '$', 'P', 'S','R', 'K']             # Bản mã nhận được trong câu 23.5 với k = 4

khoa = int(input( 'Nhập số tự nhiên k < 5: '))

ban_ro = [ ]

for kitu in ban_ma:

        ban_ro.append(chr(ord(kitu) - khoa))

print(ban_ro)