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

ตรวจสอบว่าตัวอักษรทุกตัวที่ปรากฏอยู่ติดกันในสตริงหรือไม่ใน Python


สมมติว่าเรามีสตริง s และอีกตัวอักษรหนึ่ง c เราต้องตรวจสอบว่าตัวอักษร c ปรากฏอยู่ติดกันใน s ทุกครั้งหรือไม่ ถ้าตัวอักษร c ไม่อยู่ใน s ให้คืนค่า true เช่นกัน

เช่น ถ้าอินพุตเป็น s = "bbbbaaaaaaaccddd", c = 'a' ผลลัพธ์จะเป็น True

ในการแก้ปัญหานี้ เราจะทำตามขั้นตอนดังนี้:

  • flag := False
  • index := 0
  • n := ขนาดของสตริง
  • while index < n ทำ
    • ถ้า string[index] เท่ากับ c แล้ว
      • ถ้า flag เป็น True แล้ว
        • คืนค่า False
      • while index < n และ string[index] เท่ากับ c ทำ
        • index := index + 1
      • flag := True
    • มิฉะนั้น
      • index := index + 1
  • คืนค่า True

ลองดูการนำไปใช้ดังต่อไปนี้เพื่อเข้าใจได้ดียิ่งขึ้น:

ตัวอย่าง

def solve(string, c):
    flag = False
    index = 0
    n = len(string)
    while index < n:
        if string[index] == c:
            if (flag == True):
                return False
            while index < n and string[index] == c:
                index += 1
            flag = True
        else:
            index += 1
    return True

s = "bbbbaaaaaaaccddd"
c = 'a'
print(solve(s, c))

อินพุต

"bbbbaaaaaaaccddd", "a"

ผลลัพธ์

True