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)

Câu 23.6 trang 50 SBT Tin học 10: 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.

Trả lời

Tham khảo chương trình mã hoá ở Câu 23.5, 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)

Sách bài tập Tin học 10 Bài 23 (Kết nối tri thức): Một số lệnh làm việc với dữ liệu danh sách (ảnh 1)

Xem thêm các bài giải SBT Tin học lớp 10 Kết nối tri thức hay, chi tiết khác:

Bài 21: Câu lệnh lặp While

Bài 22: Kiểu dữ liệu danh sách

Bài 23: Một số lệnh làm việc với dữ liệu danh sách

Bài 24: Xâu kí tự

Bài 25: Một số lệnh làm việc với xâu kí tự

Bài 26: Hàm trong Python

Câu hỏi cùng chủ đề

Xem tất cả