Chỉ mục chuỗi và phép nối chuỗi
Bạn được giới thiệu một trong những kỹ thuật mã hóa cổ nhất — mật mã Caesar. Kỹ thuật này dựa trên việc dịch từng chữ cái trong thông điệp xuống một số vị trí nhất định theo bảng chữ cái cho trước. Ví dụ, với bảng chữ cái tiếng Anh, dịch 1 cho 'xyz' sẽ cho ra 'yza' và ngược lại khi giải mã. Lưu ý rằng trong trường hợp này, 'z' trở thành 'a'.
Vì vậy, mã hóa/giải mã cần hai đối số: văn bản và một khóa số nguyên biểu thị độ dịch (key = 1 trong ví dụ trên).
Nhiệm vụ của bạn là tạo một hàm mã hóa dựa trên bảng chữ cái tiếng Anh được lưu trong chuỗi alphabet.
Bài tập này là một phần của khóa học
Luyện tập câu hỏi phỏng vấn lập trình bằng Python
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
def encrypt(text, key):
encrypted_text = ''
# Fill in the blanks to create an encrypted text
for char in text.lower():
idx = (alphabet.____(____) + ____) % len(____)
encrypted_text = encrypted_text + alphabet[idx]
return encrypted_text
# Check the encryption function with the shift equals to 10
print(____("datacamp", ____))