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

Kiểm tra xem có thể tạo một chuỗi hai ký tự bằng các từ đã cho trong Python hay không

Giả sử chúng ta có một chuỗi s có độ dài 2 và cũng có một danh sách các từ w trong đó tất cả các từ có độ dài 2. Chúng ta phải kiểm tra xem chúng ta có thể nối các từ từ w và chuỗi được nối đó có chứa s là chuỗi con hay không.

Vì vậy, nếu đầu vào là s =​​"no", w =["ol", "on", "ni", "to"], thì đầu ra sẽ là True vì chúng ta có thể nối các chuỗi như "onol", điều đó chứa "không"

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

  • n:=số từ trong w
  • char_0:=Sai, char_1:=Sai
  • đối với tôi trong phạm vi từ 0 đến n - 1, thực hiện
    • nếu w [i] giống với s, thì
      • trả về True
    • nếu s [0] giống với w [i, 1] thì
      • char_0:=True
    • nếu s [1] giống với w [i, 0] thì
      • char_1:=True
    • nếu cả hai char_0 và char_1 đều đúng, thì
      • trả về True
  • trả về Sai

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

Ví dụ

def solve(s, w):
   n = len(w)
   char_0 = False
   char_1 = False
   for i in range(n):
      if w[i] == s:
         return True
      if s[0] == w[i][1]:
         char_0 = True
      if s[1] == w[i][0]:
         char_1 = True
      if char_0 and char_1:
         return True
   return False
s = "no"
w = ["ol", "on", "ni", "to"]
print(solve(s, w))

Đầu vào

"no", ["ol", "on", "ni", "to"]

Đầu ra

True