Computer >> Máy Tính >  >> Lập trình >> Python

Mật mã Atbash bằng Python

Giả sử chúng ta có một chuỗi chữ cái viết thường được gọi là văn bản. Chúng ta phải tìm một chuỗi mới trong đó mọi ký tự trong văn bản được ánh xạ theo chiều ngược lại của nó trong bảng chữ cái. Ví dụ:a trở thành z, b trở thành y, v.v.

Vì vậy, nếu đầu vào là "abcdefg", thì đầu ra sẽ là "zyxwvut"

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • N:=ASCII của ('z') + ASCII của ('a')

  • trả về ans bằng cách nối từng ký tự từ giá trị ASCII (N - ASCII của s) cho mỗi ký tự s trong văn bản

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

class Solution:
   def solve(self, text):
      N = ord('z') + ord('a')
      ans=''
      return ans.join([chr(N - ord(s)) for s in text])
ob = Solution()
print(ob.solve("abcdefg"))
print(ob.solve("hello"))

Đầu vào

"abcdefg"
"hello"

Đầu ra

zyxwvut
svool