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

Chương trình kiểm tra các từ có thể được tìm thấy trong bảng ký tự ma trận hoặc không trong Python

Giả sử chúng ta có một bảng ký tự ma trận. Nơi mỗi ô chứa một ký tự. Chúng tôi cũng có một chuỗi gọi là target, chúng tôi phải kiểm tra xem mục tiêu có thể được tìm thấy trong ma trận hay không bằng cách đi từ trái sang phải hoặc từ lên xuống theo một hướng đơn hướng hay không.

Vì vậy, nếu đầu vào giống như

a n t s
s p tôi n
l a p s

Word =“mẹo”

thì đầu ra sẽ là True, bạn có thể thấy cột thứ ba (từ trên xuống dưới) đang hình thành "tip".

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

  • đối với mỗi tôi trong hội đồng quản trị, hãy làm
    • i:=tạo từ từ các ký tự có trong i
    • nếu từ có trong i, thì
      • trả về True
  • i:=0
  • while i
  • j:=tạo chuỗi từ các ký tự của cột thứ i trong bảng
  • i:=i + 1
  • nếu từ ở trong j, thì
    • trả về True
  • trả về Sai
  • Ví dụ

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

    def solve(board, word):
       for i in board:
          i = "".join(i)
          if word in i:
             return True
       i = 0
       while i < len(board):
          j = "".join([col[i] for col in board])
          i += 1
          if word in j:
             return True
    
       return False
    
    board = [["a","n","t","s"],["s","p","i","n"],["l","a","p","s"]]
    word = "tip"
    print(solve(board, word))

    Đầu vào

    [["a","n","t","s"],
    ["s","p","i","n"],
    ["l","a","p","s"]],
    "tip"

    Đầu ra

    True