Bài tập  /  Bài đang cần trả lời

Giải mã thông điệp

----- Nội dung dịch tự động từ ảnh -----
Bài 4: Giải mã thông điệp (4,0 điểm)
Trong thời đại ngày nay, thông tin cá nhân của mỗi người dễ dàng bị xâm
nhập bởi rất nhiều công nghệ hiện đại dùng để nghe lén. Chính vì vậy, một đôi bạn
muốn bảo mật thông tin cho nhau đã có sáng kiến nghĩ ra cách trao nhau những
thông điệp mà người khác đọc hoặc nghe được thì không hiểu gì. Thông điệp của
họ là một câu với nhiều từ được phân biệt bởi ký tự trống (dấu cách) và được sắp
xếp lộn xộn để trở thành câu vô nghĩa. Để hiểu nội dung một thông điệp của người
bạn gửi cho mình, hai người bạn đã quy ước trước một bộ mã là một dãy số
nguyên dương có số lượng số tương ứng với số từ của thông điệp nhằm giải mã
thành câu có ý nghĩa.
Tin học .. Ngày 14/02/2023 - 2/3
Yêu cầu: Viết chương trình để giúp đôi bạn giải mã một thông điệp cho trước.
Dữ liệu vào: Cho từ file văn bản GIAIMA.INP gồm 2 dòng:
23 U
+ Dòng đầu ghi một câu có không quá 255 kí tự là thông điệp được gởi đi.
+ Dòng thứ hai ghi bộ mã gồm một dãy các số nguyên dương chỉ vị trí các từ
của thông điệp trên (mỗi số cách nhau bởi 1 dấu khoảng trắng).
Dữ liệu ra: Ghi ra file văn bản GIAIMA.OUT gồm một dòng ghi câu đã
được giải mã từ thông điệp đã cho.
Ví dụ:
GIAIMA.INP
gioi ban chục học luon
32541
GIAIMA.OUT
chuc ban luon học giỏi
1 Xem trả lời
Hỏi chi tiết
196
0
0
GUNTER OBERDORF ...
24/01/2024 22:12:44
def decode_message():
    with open('GIAIMA.INP', 'r') as f:
        message = f.readline().strip().split()
        code = list(map(int, f.readline().split()))

    decoded_message = [message[i-1] for i in code]

    with open('GIAIMA.OUT', 'w') as f:
        f.write(' '.join(decoded_message))

decode_message()

 

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường
×
Trợ lý ảo Trợ lý ảo
Gửi câu hỏi
×