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

ตรวจสอบว่าสตริงสามารถแปลงเป็นสตริงอื่นได้หรือไม่โดยแทนที่สระและพยัญชนะในPython


สมมติว่าเรามีสองสตริง s และ t เราสามารถเปลี่ยนอักขระในตำแหน่งใดก็ได้เป็นสระใด ๆ หากเป็นสระอยู่แล้วหรือเป็นพยัญชนะถ้าเป็นพยัญชนะอยู่แล้ว เราต้องตรวจสอบว่า s สามารถแทน t หรือกลับกันได้

ดังนั้น หากอินพุตเป็น s ="udpmva", t ="itmmve" ผลลัพธ์จะเป็น True เนื่องจากเราสามารถแปลง u -> i, d -> t, p -> m, a -> e

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

  • s_size :=ขนาดของ s
  • ถ้า s_size ไม่เหมือนกับ size ของ t แล้ว
    • คืนค่าเท็จ
  • สำหรับฉันอยู่ในช่วง 0 ถึง s_size ทำ
    • ถ้า s[i] และ t[i] เป็นสระ ดังนั้น
      • ติดตามตอนต่อไป
    • มิฉะนั้น เมื่อ s[i] และ t[i] ไม่ใช่สระ ดังนั้น
      • ติดตามตอนต่อไป
    • มิฉะนั้น
      • คืนค่าเท็จ
  • คืนค่า True

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

ตัวอย่าง

def isVowel(x):
   if x in ['a', 'e', 'i', 'o', 'u']:
      return True
   return False
def solve(s, t):
   s_size = len(s)
   if (s_size != len(t)):
      return False
   for i in range(s_size):
      if (isVowel(s[i]) and isVowel(t[i])):
         continue
      elif ((isVowel(s[i])) == False and ( isVowel(t[i]) == False)):
         continue
      else:
         return False
   return True
s, t = "udpgma", "itmmve"
print(solve(s, t))

อินพุต

"udpgma", "itmmve"

ผลลัพธ์

True