Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมตรวจสอบคำสามารถพบได้ในกระดานอักขระเมทริกซ์หรือไม่ในPython


สมมติว่าเรามีกระดานอักขระเมทริกซ์ โดยที่แต่ละเซลล์มีอักขระอยู่ นอกจากนี้เรายังมีสตริงที่เรียกว่าเป้าหมาย เราต้องตรวจสอบว่าสามารถหาเป้าหมายได้ในเมทริกซ์โดยไปทางเดียวจากซ้ายไปขวาหรือขึ้นลงล่างหรือไม่

ดังนั้นหากอินพุตเป็นแบบ

n t s
s p ฉัน n
p s

คำว่า =“ทิป”

จากนั้นผลลัพธ์จะเป็น True คุณสามารถเห็นคอลัมน์ที่สาม (บนลงล่าง) กำลังสร้าง "เคล็ดลับ"

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • สำหรับแต่ละคนที่ฉันอยู่ในเรือ ทำ
    • i :=สร้างคำจากอักขระที่มีอยู่ใน i
    • ถ้ามีคำอยู่ใน i แล้ว
      • คืนค่า True
  • ผม :=0
  • ในขณะที่ฉัน <นับแถวของกระดาน ทำ
    • j :=สร้างสตริงจากอักขระของคอลัมน์ ith ในบอร์ด
    • ผม :=ผม + 1
    • ถ้าคำอยู่ใน j แล้ว
      • คืนค่า True
  • คืนค่าเท็จ

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

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))

อินพุต

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

ผลลัพธ์

True