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

โปรแกรมตรวจสอบว่า String Halves เหมือนกันใน Python . หรือไม่


สมมติว่าเรามีสตริงที่มีความยาวเท่ากัน เราต้องแยกสตริงนี้ออกเป็นสองส่วนที่มีความยาวเท่ากัน ดังนั้นให้พิจารณาว่า 'a' คือครึ่งแรกและ 'b' คือครึ่งหลัง เราบอกว่าสตริงสองสายเหมือนกันเมื่อมีสระจำนวนเท่ากัน (ตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก) เราต้องเช็คก่อนว่า 'a' และ 'b' เหมือนกันหรือไม่

ดังนั้น หากอินพุตมีค่าเท่ากับ s ="talent" ผลลัพธ์จะเป็น True เพราะสองส่วนคือ "tal" และ "ent" ทั้งสองส่วนจะเหมือนกันเพราะมีสระเพียงตัวเดียวและพยัญชนะ 2 ตัว

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

  • a :=ครึ่งซ้ายของ s

  • b :=ครึ่งขวาของ s

  • count1 :=0, count2 :=0

  • สำหรับแต่ละ c ใน a ทำ

    • ถ้า c เป็นสระแล้ว

      • count1 :=count1 + 1

  • สำหรับแต่ละ c ใน b ทำ

    • ถ้า c เป็นสระแล้ว

      • count2 :=count2 + 1

  • คืนค่า จริง หาก count1 เหมือนกับ count2 มิฉะนั้น เท็จ

ตัวอย่าง (Python)

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

def solve(s):
   vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']

   a = s[:len(s)//2]
   b = s[len(s)//2:]

   count1 = 0
   count2 = 0

   for c in a:
      if c in vowels:
         count1 += 1
   for c in b:
      if c in vowels:
         count2 += 1

   return count1 == count2

s = "talent"
print(solve(s))

อินพุต

"talent"

ผลลัพธ์

True