Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Mã hóa Caesar Cipher trong Python

Cho chuỗi chữ thường s và số dịch chuyển k. Thay mỗi ký tự bằng ký tự cách nó k vị trí trong bảng chữ cái (xoay vòng a-z).

Ví dụ: "hello", k=3 → "khoor".

Các bước giải quyết

  • Hàm shift(c):
    • i = ord(c) - ord('a')
    • i = (i + k) % 26
    • Trả về chr(ord('a') + i)
  • Áp dụng shift cho từng ký tự trong s và nối lại

Ví dụ mã Python

class Solution:
    def solve(self, s, k):
        def shift(c):
            i = ord(c) - ord('a')
            i += k
            i %= 26
            return chr(ord('a') + i)
        return "".join(map(shift, s))

ob = Solution()
print(ob.solve("hello", 3))

Đầu vào

"hello", 3

Đầu ra

khoor